srcu: Crude control of expedited grace periods
SRCU's implementation of expedited grace periods has always assumed that the SRCU instance is idle when the expedited request arrives. This commit improves this a bit by maintaining a count of the number of outstanding expedited requests, thus allowing prior non-expedited grace periods accommodate these requests by shifting to expedited mode. However, any non-expedited wait already in progress will still wait for the full duration. Improved control of expedited grace periods is planned, but one step at a time. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
@@ -42,6 +42,7 @@ struct srcu_array {
|
||||
struct srcu_struct {
|
||||
unsigned long completed;
|
||||
unsigned long srcu_gp_seq;
|
||||
atomic_t srcu_exp_cnt;
|
||||
struct srcu_array __percpu *per_cpu_ref;
|
||||
spinlock_t queue_lock; /* protect ->srcu_cblist */
|
||||
struct rcu_segcblist srcu_cblist;
|
||||
|
Reference in New Issue
Block a user