Re: [PATCH 3/5] cgroup/cpuset: Find another usable CPU if none found in current cpuset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/17/23 08:27, Michal Koutný wrote:
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)?

Yes, killing it is one possible solution.

(3) doesn't work if the affinity change is due to hot cpu removal. So that leaves this patch or (2) as the only alternative. I would like to hear what Will and Tejun thinks about it.

I am going to remove this patch from the series for the time being.

Thanks,
Longman




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux