Keyronex Keyronex manual pages

KE_RCU_DEREFERENCE(9) Kernel Developer's Manual KE_RCU_DEREFERENCE(9)

ke_rcu_dereference, ke_rcu_assign_pointer, ke_rcu_exchange_pointerread-copy-update pointer operations

#include <kdk/kern.h>

T *
ke_rcu_dereference(T **pp);

void
ke_rcu_assign_pointer(T **pp, T *p);

T *
ke_rcu_exchange_pointer(T **pp, T *p);

These are macros for safely reading and updating pointers in data structures subject to RCU reclamation.

() returns the value of the pointer referred to by pp for derference by a caller in an RCU reader critical section.

() updates the pointer referred to by pp to the value p for use by an RCU writer.

() updates the pointer referred to by pp to the value p and returns the old value for use by an RCU writer.

ke_rcu_dereference() may be called from an RCU reader critical section.

ke_rcu_assign_pointer() and ke_rcu_exchange_pointer() may be called from RCU writer context.

These macros are defined in kernel/include/kdk/kern.h

ipl(9), rcu(9)

The RCU interface appeared in Keyronex in 2023.

October 5, 2024 Debian