• Zqiang's avatar
    rcu: Force quiescent states only for ongoing grace period · dee39c0c
    Zqiang authored
    If an rcutorture test scenario creates an fqs_task kthread, it will
    periodically invoke rcu_force_quiescent_state() in order to start
    force-quiescent-state (FQS) operations.  However, an FQS operation
    will be started even if there is no RCU grace period in progress.
    Although testing FQS operations startup when there is no grace period in
    progress is necessary, it need not happen all that often.  This commit
    therefore causes rcu_force_quiescent_state() to take an early exit
    if there is no grace period in progress.
    
    Note that there will still be attempts to start an FQS scan in the
    absence of a grace period because the grace period might end right
    after the rcu_force_quiescent_state() function's check.  In actual
    testing, this happens about once every ten minutes, which should
    provide adequate testing.
    Signed-off-by: default avatarZqiang <qiang.zhang1211@gmail.com>
    Reviewed-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    Signed-off-by: default avatarNeeraj Upadhyay (AMD) <neeraj.iitr10@gmail.com>
    dee39c0c
tree.c 168 KB