[PATCH v4 0/4] Reduce synchronize_rcu() latency(v4)

From: Uladzislau Rezki (Sony)
Date: Thu Jan 04 2024 - 11:25:40 EST


This is a v4 that tends to improve synchronize_rcu() call. To be more
specific it is about reducing a waiting time(especially worst cases)
of caller that blocks until a grace period is elapsed.

In general, this series separates synchronize_rcu() callers from other
callbacks. We keep a dedicated an independent queue, thus the processing
of it starts as soon as grace period is over, so there is no need to wait
until other callbacks are processed one by one. Please note, a number of
callbacks can be 10K, 20K, 60K and so on. That is why this series maintain
a separate track for this call that blocks a context.

v3 -> v4:
- Squash patches;
- Add more description;
- Fix comments based on v3 feedback.

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/

Neeraj Upadhyay (1):
rcu: Improve handling of synchronize_rcu() users

Uladzislau Rezki (Sony) (3):
rcu: Reduce synchronize_rcu() latency
rcu: Add a trace event for synchronize_rcu_normal()
rcu: Support direct wake-up of synchronize_rcu() users

.../admin-guide/kernel-parameters.txt | 14 +
include/trace/events/rcu.h | 27 ++
kernel/rcu/Kconfig.debug | 12 +
kernel/rcu/tree.c | 361 +++++++++++++++++-
kernel/rcu/tree.h | 19 +
kernel/rcu/tree_exp.h | 2 +-
6 files changed, 433 insertions(+), 2 deletions(-)

--
2.39.2