Re: [PATCH 1/2] torture: use for_each_present() loop in torture_online_all()

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

 



Hi Paul,

"Paul E. McKenney" <paulmck@xxxxxxxxxx> writes:

> On Mon, Nov 14, 2022 at 04:35:06PM +0100, Sven Schnelle wrote:
>> "Paul E. McKenney" <paulmck@xxxxxxxxxx> writes:
>> 
>> > On Fri, Nov 11, 2022 at 01:51:24PM +0100, Sven Schnelle wrote:
>> >> A CPU listed in the possible mask doesn't have to be present, in
>> >> which case it would crash the kernel in torture_online_all().
>> >> To prevent this use a for_each_present() loop.
>> >> 
>> >> Signed-off-by: Sven Schnelle <svens@xxxxxxxxxxxxx>
>> >
>> > Looks good to me!  Any reason for no mailing list on CC?
>> 
>> No, my fault. I setup get_maintainer.pl to be called from git
>> send-email, but looks like i did it wrong :-)
>
> Been there, done that!  ;-)
>
>> > Ah, and any synchronization required in case it is possible for a CPU
>> > to leave the cpu_present_mask?  Or can they only be added?
>> 
>> Hmm... I think the main question is, whether it is ok for a cpu to be
>> removed from the system when rcutorture is running? In both cases it
>> would disappear from the cpu online mask, so i don't think the patch
>> would change the behaviour. But i can check and send additional patches
>> if there are other places that needs adjustment.
>
> Yes, rcutorture has lower-level checks for CPUs being hotplugged
> behind its back.  Which might be sufficient.  But this patch is in
> response to something bad happening if the CPU is also not present in
> the cpu_present_mask.  Would that same bad thing happen if rcutorture saw
> the CPU in cpu_online_mask, but by the time it attempted to CPU-hotplug
> it, that CPU was gone not just from cpu_online_mask, but also from
> cpu_present_mask?
>
> Or are CPUs never removed from cpu_present_mask?

In the current implementation CPUs can only be added to the
cpu_present_mask, but never removed. This might change in the future
when we get support from firmware for that, but the current s390 code
doesn't do that.

Regards
Sven



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux