diff options
author | Ingo Molnar <mingo@kernel.org> | 2017-04-27 07:41:37 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-04-27 07:41:37 +0200 |
commit | 96fd20cf3f1620d699db43cd08745f1e57e1072a (patch) | |
tree | 88b0caa1cd8bfa66e6a4b00ad21108f03369eb03 /include/linux/srcutiny.h | |
parent | d160a727c40e7175aa642137910a3fda46262fc8 (diff) | |
parent | 22607d66bbc3e81140d3bcf08894f4378eb36428 (diff) |
Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
Pull RCU updates from Paul E. McKenney:
"This series greatly reduces the performance degradation of Tree SRCU
on a CPU-hotplug stress test. The effect was not subtle: Mike Galbraith
measured Classic SRCU at 55 seconds and Tree SRCU at more than 16 -minutes-
for this test. Mike collected ftrace data that showed that Classic SRCU
was auto-expediting invocations of synchronize_srcu() that found SRCU
completely idle. This series therefore adds this auto-expedite capability
to Tree SRCU, bringing the performance shortfall to less than ten seconds,
which is a great improvement over the initial shortfall of 15 minutes."
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/srcutiny.h')
-rw-r--r-- | include/linux/srcutiny.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/srcutiny.h b/include/linux/srcutiny.h index 4f284e4f4d8c..42311ee0334f 100644 --- a/include/linux/srcutiny.h +++ b/include/linux/srcutiny.h @@ -78,4 +78,16 @@ static inline unsigned long srcu_batches_completed(struct srcu_struct *sp) return 0; } +static inline void srcutorture_get_gp_data(enum rcutorture_type test_type, + struct srcu_struct *sp, int *flags, + unsigned long *gpnum, + unsigned long *completed) +{ + if (test_type != SRCU_FLAVOR) + return; + *flags = 0; + *completed = sp->srcu_gp_seq; + *gpnum = *completed; +} + #endif |