----- Original Message ----- > From: "Pranith Kumar" <bobby.pr...@gmail.com> > To: "Paolo Bonzini" <pbonz...@redhat.com>, "Sergey Fedorov" > <serge.f...@gmail.com>, "Cao jin" > <caoj.f...@cn.fujitsu.com>, "open list:All patches CC here" > <qemu-devel@nongnu.org> > Sent: Tuesday, October 18, 2016 4:56:19 PM > Subject: [PATCH 1/2] docs/rcu: Distinguish rcu_dereference and atomic_rcu_read > > Signed-off-by: Pranith Kumar <bobby.pr...@gmail.com> > --- > docs/rcu.txt | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/docs/rcu.txt b/docs/rcu.txt > index c84e7f4..c177dcb 100644 > --- a/docs/rcu.txt > +++ b/docs/rcu.txt > @@ -197,7 +197,9 @@ DIFFERENCES WITH LINUX > critical section to become an updater. > > - atomic_rcu_read and atomic_rcu_set replace rcu_dereference and > - rcu_assign_pointer. They take a _pointer_ to the variable being accessed. > + rcu_assign_pointer. Note that although both atomic_rcu_read and > + rcu_dereference take a _pointer_ to the variable being accessed, > + atomic_rcu_read dereferences the pointer whereas rcu_dereference does not.
No, neither rcu_dereference nor rcu-assign_pointer take a pointer. You use them like rcu_dereference(p) versus QEMU's atomic_rcu_read(&p). Paolo > - call_rcu is a macro that has an extra argument (the name of the first > field in the struct, which must be a struct rcu_head), and expects the > -- > 2.10.1 > >