On Tue, Feb 20, 2024 at 07:31:11PM +0100, Uladzislau Rezki (Sony) wrote:
> This is a v5 that tends to improve synchronize_rcu() call in terms of
> latency reduction. This has been developed together with Neeraj Upadhyay.
> The delta between previous v4 and v5 is rather small. Main difference
> are
This patch introduces a small enhancement which allows to do a
direct wake-up of synchronize_rcu() callers. It occurs after a
completion of grace period, thus by the gp-kthread.
Number of clients is limited by the hard-coded maximum allowed
threshold. The remaining part, if still exists is deferre
A call to a synchronize_rcu() can be optimized from a latency
point of view. Workloads which depend on this can benefit of it.
The delay of wakeme_after_rcu() callback, which unblocks a waiter,
depends on several factors:
- how fast a process of offloading is started. Combination of:
- !CONFI
Add an rcu_sr_normal() trace event. It takes three arguments
first one is the name of RCU flavour, second one is a user id
which triggeres synchronize_rcu_normal() and last one is an
event.
There are two traces in the synchronize_rcu_normal(). On entry,
when a new request is registered and on exit
The synchronize_rcu() call is going to be reworked, thus
this patch adds dedicated fields into the rcu_state structure.
Signed-off-by: Uladzislau Rezki (Sony)
---
kernel/rcu/tree.h | 14 ++
1 file changed, 14 insertions(+)
diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h
index df4
This is a v5 that tends to improve synchronize_rcu() call in terms of
latency reduction. This has been developed together with Neeraj Upadhyay.
The delta between previous v4 and v5 is rather small. Main difference
are cosmetic changes related to patch squashing and data structures
splitting.
It is
> [ 292.553504][ T653] ? __cfi_rcu_torture_reader
> (kernel/rcu/rcutorture.c:2076) rcutorture
> [ 292.554689][ T653] ? __cfi_kthread (kernel/kthread.c:341)
> [ 292.555749][ T653] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 292.556792][ T653] ? __cfi_kthread (kernel/kthr