lkml.org 
[lkml]   [2006]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    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.

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

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