lkml.org 
[lkml]   [2017]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 tip/core/rcu 6/6] rcu: Adjust FQS offline checks for exact online-CPU detection
    Date
    Commit 7ec99de36f40 ("rcu: Provide exact CPU-online tracking for RCU"),
    as its title suggests, got rid of RCU's remaining CPU-hotplug timing
    guesswork. This commit therefore removes the one-jiffy kludge that was
    used to paper over this guesswork.

    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Josh Triplett <josh@joshtriplett.org>
    ---
    kernel/rcu/tree.c | 17 ++---------------
    1 file changed, 2 insertions(+), 15 deletions(-)

    diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
    index 37a1d91f1ec7..c49bb791aeca 100644
    --- a/kernel/rcu/tree.c
    +++ b/kernel/rcu/tree.c
    @@ -1276,21 +1276,8 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp,
    return 1;
    }

    - /*
    - * Check for the CPU being offline, but only if the grace period
    - * is old enough. We don't need to worry about the CPU changing
    - * state: If we see it offline even once, it has been through a
    - * quiescent state.
    - *
    - * The reason for insisting that the grace period be at least
    - * one jiffy old is that CPUs that are not quite online and that
    - * have just gone offline can still execute RCU read-side critical
    - * sections.
    - */
    - if (ULONG_CMP_GE(rdp->rsp->gp_start + 2, jiffies))
    - return 0; /* Grace period is not old enough. */
    - barrier();
    - if (cpu_is_offline(rdp->cpu)) {
    + /* Check for the CPU being offline. */
    + if (!(rdp->grpmask & rcu_rnp_online_cpus(rnp))) {
    trace_rcu_fqs(rdp->rsp->name, rdp->gpnum, rdp->cpu, TPS("ofl"));
    rdp->offline_fqs++;
    return 1;
    --
    2.5.2
    \
     
     \ /
      Last update: 2017-01-18 03:47    [W:4.127 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site