[lkml]   [2006]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 2/5] rcu: don't check ->donelist in __rcu_pending()
    "Paul E. McKenney" wrote:
    > On Sun, Jan 08, 2006 at 10:19:24PM +0300, Oleg Nesterov wrote:
    > > ->donelist becomes != NULL only in rcu_process_callbacks().
    > >
    > > rcu_process_callbacks() always calls rcu_do_batch() when
    > > ->donelist != NULL.
    > >
    > > rcu_do_batch() schedules rcu_process_callbacks() again if
    > > ->donelist was not flushed entirely.
    > >
    > > So ->donelist != NULL means that rcu_tasklet is either
    > > TASKLET_STATE_SCHED or TASKLET_STATE_RUN, we don't need to
    > > check it in __rcu_pending().
    > As Vatsa noted, this is needed if the CPU-hotplug case moves
    > from ->donelist to ->donelist. It could be omitted if CPU-hotplug
    > instead moves from ->donelist to ->nextlist, as is the case in Oleg's
    > patch. The extra grace-period delay should not be a problem for the
    > presumably rare hotplug case, but:

    Just to be sure. So do you agree that CPU-hotplug is buggy now (without
    that patch) ?

    > o the extra test in __rcu_pending() should be quite inexpensive,
    > since the cacheline is already loaded given the earlier tests.

    Yes, it was a cleanup, not an optimization.

    > o although tasklet_schedule() looks to be perfectly reliable
    > right now, and although any bugs in tasklet_schedule() must
    > be fixed, having RCU leakage be the major symptom of
    > tasklet_schedule() failure sounds quite unfriendly to me.
    > So I am not (yet) convinced that this patch is the way to go.

    Ok, I agree.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2006-01-09 20:17    [W:0.022 / U:4.572 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site