Re: [PATCH 5/5][RFC] rcu: start new grace period from rcu_pending()

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

 



"Paul E. McKenney" wrote:
> 
> On Mon, Jan 09, 2006 at 05:32:55PM +0300, Oleg Nesterov wrote:
> > Oleg Nesterov wrote:
> > >
> > > I think it is better to set ->qs_pending = 1 directly in __rcu_pending():
> >
> > This patch has a bug. I am sending a trivial fix, but now I am not
> > sure myself that 1 timer tick saved worth the code uglification.
> 
> This is indeed an accident waiting to happen -- someone is bound to
> replace the "|" with an "||", a change that is too easy for someone
> to miss.  Once Vatsa is satisfied with the CPU-hotplug aspects of
> this set of patches, if __rcu_pending() still has side-effects, I would
> suggest something like the following:
> 
>         int rcu_pending(int cpu)
>         {
>                 int retval = 0;
> 
>                 if (__rcu_pending(&rcu_ctrlblk, &per_cpu(rcu_data, cpu)))
>                         retval = 1;
>                 if (__rcu_pending(&rcu_bh_ctrlblk, &per_cpu(rcu_bh_data, cpu)))
>                         retval = 1;
>                 return retval;
>         }
> 
> A few more lines, but the intent is much more clear.  And I bet that
> gcc generates reasonable code in either case.
> 
> Or maybe this is just me...

No, me too. For some reasons I can't re-send the patch today, will do
tomorrow.

However, I am not sure anymore that this patch is a good idea. Exactly
because it adds side-effects to rcu_pending().

So, unless somebody on CC: list thinks it may be useful - let's forget
it.

Oleg.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux