[firefly] [PATCH] rcu: Notice if an all-zero cpumask is set inside a critical section

Daniel Baluta daniel.baluta at gmail.com
Mon Mar 17 14:12:51 EET 2014


On Mon, Mar 17, 2014 at 1:53 PM, Iulia Manda <iulia.manda21 at gmail.com> wrote:
> In torture_shuffle_tasks function, the check if an all-zero mask can
> be passed to set_cpus_allowed_ptr() is redundant after clearing the
> shuffle_idle_cpu bit. If the mask had more than one bit set, after
> clearing a bit it has at least one bit set. If the mask had only
> one bit set, a check is made at the beginning, where the function
> returns, as there is no need to shuffle only one cpu.
>
> Also, this code is executed inside a critical section, delimited by
> get_online_cpus() and put_online_cpus(), preventing CPUs from leaving between
> the check of num_online_cpus and the calls to set_cpus_allowed_ptr().

Is this a kernel patch? If yes, which tree?

I can't find kernel/torture.c in linux/ tree. There is only
kernel/rcu/torture.c.

thanks,
Daniel.


More information about the firefly mailing list