• Frederic Weisbecker's avatar
    rcu/exp: Make parallel exp gp kworker per rcu node · 8e5e6215
    Frederic Weisbecker authored
    When CONFIG_RCU_EXP_KTHREAD=n, the expedited grace period per node
    initialization is performed in parallel via workqueues (one work per
    node).
    
    However in CONFIG_RCU_EXP_KTHREAD=y, this per node initialization is
    performed by a single kworker serializing each node initialization (one
    work for all nodes).
    
    The second part is certainly less scalable and efficient beyond a single
    leaf node.
    
    To improve this, expand this single kworker into per-node kworkers. This
    new layout is eventually intended to remove the workqueues based
    implementation since it will essentially now become duplicate code.
    Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
    Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    Signed-off-by: default avatarBoqun Feng <boqun.feng@gmail.com>
    8e5e6215
tree_exp.h 35.4 KB