lkml.org 
[lkml]   [2008]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH]rcu classic: update qlen when cpu offline

* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:

> On Thu, Jun 26, 2008 at 10:06:43AM +0800, Lai Jiangshan wrote:
> >
> > When callbacks are moved from offline cpu to this cpu,
> > the qlen field of this rdp should be updated.
>
> Good catch!!!
>
> The effect of this bug would be for force_quiescent_state() to be invoked
> when it should not and vice versa -- wasting cycles in the first case
> and letting RCU callbacks remain piled up in the second case. The bug
> is thus "benign" in that it does not result in premature grace-period
> termination, but should of course be fixed nonetheless.
>
> Preemption is disabled by the caller's get_cpu_var(), so we are guaranteed
> to remain on the same CPU, as required. The local_irq_disable() is indeed
> needed, otherwise, an interrupt might invoke call_rcu() or call_rcu_bh(),
> which could cause that interrupt's increment of ->qlen to be lost.
>
> So this patch looks correct to me. Good job, Jiangshan!!!
>
> Ingo, would you be willing to add this patch to tip/core/rcu?
>
> Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

thanks, applied to tip/core/rcu. (sorry about the delay!)

Ingo


\
 
 \ /
  Last update: 2008-07-13 23:15    [W:0.075 / U:0.360 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site