Unix Systems For Modern Architectures.pdf -

rcu_read_lock(); obj = rcu_dereference(shared_ptr); // use obj – no blocking rcu_read_unlock();

Classic UNIX had bottom halves, top halves. Modern architectures demand more. Unix Systems For Modern Architectures.pdf

Thread on socket 0 → accessing socket 0 memory → ~80 ns latency Thread on socket 0 → accessing socket 1 memory → ~140 ns latency (over 70% slower) obj = rcu_dereference(shared_ptr)

UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers Curt Schimmel Classic UNIX had bottom halves

numactl -m 0 -N 0 ./my_app