• P
    rcu: Tighten up affinity and check for sysidle · 5871968d
    Paul E. McKenney 提交于
    If the RCU grace-period kthread invoking rcu_sysidle_check_cpu()
    happens to be running on the tick_do_timer_cpu initially,
    then rcu_bind_gp_kthread() won't bind it.  This kthread might
    then migrate before invoking rcu_gp_fqs(), which will trigger the
    WARN_ON_ONCE() in rcu_sysidle_check_cpu().  This commit therefore makes
    rcu_bind_gp_kthread() do the binding even if the kthread is currently
    on the same CPU.  Because this incurs added overhead, this commit also
    causes each RCU grace-period kthread to invoke rcu_bind_gp_kthread()
    once at boot rather than at the beginning of each grace period.
    And as long as rcu_bind_gp_kthread() is being modified, this commit
    eliminates its #ifdef.
    Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    5871968d
tree_plugin.h 89.6 KB