• Paul E. McKenney's avatar
    rcu: Exclude outgoing CPU when it is the last to leave · 7634b1ea
    Paul E. McKenney authored
    The rcu_boost_kthread_setaffinity() function removes the outgoing CPU
    from the set_cpus_allowed() mask for the corresponding leaf rcu_node
    structure's rcub priority-boosting kthread.  Except that if the outgoing
    CPU will leave that structure without any online CPUs, the mask is set
    to the housekeeping CPU mask from housekeeping_cpumask().  Which is fine
    unless the outgoing CPU happens to be a housekeeping CPU.
    
    This commit therefore removes the outgoing CPU from the housekeeping mask.
    This would of course be problematic if the outgoing CPU was the last
    online housekeeping CPU, but in that case you are in a world of hurt
    anyway.  If someone comes up with a valid use case for a system needing
    all the housekeeping CPUs to be offline, further adjustments can be made.
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    7634b1ea
tree_plugin.h 42.4 KB