diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-04-25 23:03:11 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-04-27 01:32:17 +0200 |
commit | 22607d66bbc3e81140d3bcf08894f4378eb36428 (patch) | |
tree | 88b0caa1cd8bfa66e6a4b00ad21108f03369eb03 /kernel/sys.c | |
parent | srcu: Expedite first synchronize_srcu() when idle (diff) | |
download | linux-22607d66bbc3e81140d3bcf08894f4378eb36428.tar.xz linux-22607d66bbc3e81140d3bcf08894f4378eb36428.zip |
srcu: Specify auto-expedite holdoff time
On small systems, in the absence of readers, expedited SRCU grace
periods can complete in less than a microsecond. This means that an
eight-CPU system can have all CPUs doing synchronize_srcu() in a tight
loop and almost always expedite. This might actually be desirable in
some situations, but in general it is a good way to needlessly burn
CPU cycles. And in those situations where it is desirable, your friend
is the function synchronize_srcu_expedited().
For other situations, this commit adds a kernel parameter that specifies
a holdoff between completing the last SRCU grace period and auto-expediting
the next. If the next grace period starts before the holdoff expires,
auto-expediting is disabled. The holdoff is 50 microseconds by default,
and can be tuned to the desired number of nanoseconds. A value of zero
disables auto-expediting.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Mike Galbraith <efault@gmx.de>
Diffstat (limited to 'kernel/sys.c')
0 files changed, 0 insertions, 0 deletions