[PATCH v6 0/6] Reduce synchronize_rcu() latency(v6)

From: Uladzislau Rezki (Sony)
Date: Fri Mar 08 2024 - 12:34:25 EST


This is v6. It is based on the Paul's "dev" branch:

HEAD: f1bfe538c7970283040a7188a291aca9f18f0c42

please note, that patches should be applied from scratch,
i.e. the v5 has to be dropped from the "dev".

v5 -> v6:
- Fix a race due to realising a wait-head from the gp-kthread;
- Use our own private workqueue with WQ_MEM_RECLAIM to have
at least one execution context.

v5: https://lore.kernel.org/lkml/20240220183115.74124-1-urezki@xxxxxxxxx/
v4: https://lore.kernel.org/lkml/ZZ2bi5iPwXLgjB-f@xxxxxxxxxx/T/
v3: https://lore.kernel.org/lkml/cd45b0b5-f86b-43fb-a5f3-47d340cd4f9f@paulmck-laptop/T/
v2: https://lore.kernel.org/all/20231030131254.488186-1-urezki@xxxxxxxxx/T/
v1: https://lore.kernel.org/lkml/20231025140915.590390-1-urezki@xxxxxxxxx/T/


Uladzislau Rezki (Sony) (6):
rcu: Add data structures for synchronize_rcu()
rcu: Reduce synchronize_rcu() latency
rcu: Add a trace event for synchronize_rcu_normal()
rcu: Support direct wake-up of synchronize_rcu() users
rcu: Do not release a wait-head from a GP kthread
rcu: Allocate WQ with WQ_MEM_RECLAIM bit set

.../admin-guide/kernel-parameters.txt | 14 +
include/trace/events/rcu.h | 27 ++
kernel/rcu/tree.c | 361 +++++++++++++++++-
kernel/rcu/tree.h | 20 +
kernel/rcu/tree_exp.h | 2 +-
5 files changed, 422 insertions(+), 2 deletions(-)

--
2.39.2