lkml.org 
[lkml]   [2010]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH] rcu: using ACCESS_ONCE() to observe the jiffies_stall/rnp->qsmask value
    Paul E. McKenney wrote:
    > On Tue, Sep 28, 2010 at 04:32:43PM +0800, Dongdong Deng wrote:
    >> Using ACCESS_ONCE() to observe the jiffies_stall/rnp->qsmask value
    >> due to the caller didn't hold the root_rcu/rnp node's lock.
    >
    > Given that the quantities are only used once, ACCESS_ONCE() is strictly
    > speaking not necessary. I am tempted to queue your patch regardless
    > for the documentation benefits.
    >
    > Or is this patch necessary to fix a failure that you have been seeing?

    Hello Pual,

    No, I didn't see a failure about it.
    I got this patch from code review. :-)

    Thanks,
    Dongdong

    > In any case, thank you for taking a look at RCU!
    >
    > Thanx, Paul
    >
    >> Signed-off-by: Dongdong Deng <dongdong.deng@windriver.com>
    >> CC: Dipankar Sarma <dipankar@in.ibm.com>
    >> CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    >> ---
    >> kernel/rcutree.c | 4 ++--
    >> 1 files changed, 2 insertions(+), 2 deletions(-)
    >>
    >> diff --git a/kernel/rcutree.c b/kernel/rcutree.c
    >> index d5bc439..07a7063 100644
    >> --- a/kernel/rcutree.c
    >> +++ b/kernel/rcutree.c
    >> @@ -532,9 +532,9 @@ static void check_cpu_stall(struct rcu_state *rsp, struct rcu_data *rdp)
    >>
    >> if (rcu_cpu_stall_panicking)
    >> return;
    >> - delta = jiffies - rsp->jiffies_stall;
    >> + delta = jiffies - ACCESS_ONCE(rsp->jiffies_stall);
    >> rnp = rdp->mynode;
    >> - if ((rnp->qsmask & rdp->grpmask) && delta >= 0) {
    >> + if ((ACCESS_ONCE(rnp->qsmask) & rdp->grpmask) && delta >= 0) {
    >>
    >> /* We haven't checked in, so go dump stack. */
    >> print_cpu_stall(rsp);
    >> --
    >> 1.6.0.4
    >>
    >




    \
     
     \ /
      Last update: 2010-09-29 09:51    [W:0.061 / U:30.432 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site