mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 22:14:04 +02:00
Asymmetric systems may not offer the same level of userspace ISA support across all CPUs, meaning that some applications cannot be executed by some CPUs. As a concrete example, upcoming arm64 big.LITTLE designs do not feature support for 32-bit applications on both clusters. Modify guarantee_online_cpus() to take task_cpu_possible_mask() into account when trying to find a suitable set of online CPUs for a given task. This will avoid passing an invalid mask to set_cpus_allowed_ptr() during ->attach() and will subsequently allow the cpuset hierarchy to be taken into account when forcefully overriding the affinity mask for a task which requires migration to a compatible CPU. Cc: Li Zefan <lizefan@huawei.com> Cc: Tejun Heo <tj@kernel.org> Cc: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Will Deacon <will@kernel.org> Bug: 178507149 Link: https://lore.kernel.org/linux-arch/20201208132835.6151-9-will@kernel.org/ [will: Fixed conflict due to active_mask being used instead of online_mask] Signed-off-by: Will Deacon <willdeacon@google.com> Change-Id: I5b4a50e7a257af928dccd87f1dbd961ea26ff834 |
||
|---|---|---|
| .. | ||
| cgroup-internal.h | ||
| cgroup-v1.c | ||
| cgroup.c | ||
| cpuset.c | ||
| debug.c | ||
| freezer.c | ||
| legacy_freezer.c | ||
| Makefile | ||
| namespace.c | ||
| pids.c | ||
| rdma.c | ||
| rstat.c | ||