Documentation
/
RCU
/
Design
/
Requirements
/
ReadersPartitionGP1.svg
image/svg+xml
synchronize_rcu()
WRITE_ONCE(a, 1);
WRITE_ONCE(b, 1);
r1 = READ_ONCE(a);
WRITE_ONCE(c, 1);
WRITE_ONCE(d, 1);
r2 = READ_ONCE(c);
thread0()
thread1()
thread2()
rcu_read_lock();
rcu_read_lock();
rcu_read_unlock();
rcu_read_unlock();
QS
QS
QS
synchronize_rcu()
r3 = READ_ONCE(d);
WRITE_ONCE(e, 1);
QS
r4 = READ_ONCE(b);
r5 = READ_ONCE(e);
rcu_read_lock();
rcu_read_unlock();
QS
QS
QS
thread3()
thread4()
<< [ Design ]
GPpartitionReaders1.svg
ReadersPartitionGP1.svg
Requirements.rst