On Tue, Mar 14, 2023 at 04:22:06PM -0400, Waiman Long <longman@xxxxxxxxxx> wrote: > Some arm64 systems can have asymmetric CPUs where certain tasks are only > runnable on a selected subset of CPUs. Ah, I'm catching up. > This information is not captured in the cpuset. As a result, > task_cpu_possible_mask() may return a mask that have no overlap with > effective_cpus causing new_cpus to become empty. I can see that historically, there was an approach of terminating unaccomodable tasks: 94f9c00f6460 ("arm64: Remove logic to kill 32-bit tasks on 64-bit-only cores") the removal of killing had been made possible with df950811f4a8 ("arm64: Prevent offlining first CPU with 32-bit EL0 on mismatched system"). That gives two other alternatives to affinity modification: 2) kill such tasks (not unlike OOM upon memory.max reduction), 3) reject cpuset reduction (violates cgroup v2 delegation). What do you think about 2)? Michal
Attachment:
signature.asc
Description: PGP signature