[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <yt9dzgcsiu4p.fsf@linux.ibm.com>
Date: Tue, 15 Nov 2022 07:55:50 +0100
From: Sven Schnelle <svens@...ux.ibm.com>
To: "Paul E. McKenney" <paulmck@...nel.org>
Cc: Davidlohr Bueso <dave@...olabs.net>,
Josh Triplett <josh@...htriplett.org>,
linux-kernel@...r.kernel.org, rcu@...r.kernel.org
Subject: Re: [PATCH 1/2] torture: use for_each_present() loop in
torture_online_all()
Hi Paul,
"Paul E. McKenney" <paulmck@...nel.org> writes:
> On Mon, Nov 14, 2022 at 04:35:06PM +0100, Sven Schnelle wrote:
>> "Paul E. McKenney" <paulmck@...nel.org> 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@...ux.ibm.com>
>> >
>> > 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
Powered by blists - more mailing lists