Messages in this thread |  | | From | Frederic Weisbecker <> | Subject | [RFC PATCH 00/12] rcu/nocb: De-offload and re-offload support v2 | Date | Mon, 21 Sep 2020 14:43:39 +0200 |
| |
Hi,
This is the second attempt to make rcu-nocb mutable at runtime. See v1 there: https://lwn.net/Articles/820544/
This time a new approach, as per Paul's suggestion, is to ensure that callbacks are still served locally until nocb kthreads are fully ready or fully asleep. This is using a state machine implemented with a mask (see patch 3/12 for details).
There is still some small polishing to do, as can be seen in the last patches, to make sure that local callbacks processing is correctly handled outside of strict softirq (or rcuc) mode.
Thanks.
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git rcu/nocb
HEAD: 6abe8408307eaeb03b4a0470945943c1decbc4b3
Thanks, Frederic ---
Frederic Weisbecker (12): rcu: Implement rcu_segcblist_is_offloaded() config dependent rcu: Turn enabled/offload states into a common flag rcu: Provide basic callback offloading state machine bits rcu: De-offloading CB kthread rcu: De-offloading GP kthread rcu: Re-offload support rcu: Shutdown nocb timer on de-offloading rcu: Flush bypass before setting SEGCBLIST_SOFTIRQ_ONLY rcu: Set SEGCBLIST_SOFTIRQ_ONLY at the very last stage of de-offloading rcu: Process batch locally as long as offloading isn't complete rcu: Locally accelerate callbacks as long as offloading isn't complete rcu: Nocb (de)activate through sysfs
include/linux/rcu_segcblist.h | 119 ++++++++++++++++- include/linux/rcupdate.h | 4 + kernel/cpu.c | 23 ++++ kernel/rcu/rcu_segcblist.c | 13 +- kernel/rcu/rcu_segcblist.h | 45 ++++++- kernel/rcu/tree.c | 32 ++--- kernel/rcu/tree.h | 2 + kernel/rcu/tree_plugin.h | 297 +++++++++++++++++++++++++++++++++++++++--- 8 files changed, 491 insertions(+), 44 deletions(-)
|  |