From: David Laight <David.Laight@ACULAB.COM>
To: 'Mathieu Desnoyers' <mathieu.desnoyers@efficios.com>,
Boqun Feng <boqun.feng@gmail.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Linus Torvalds" <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Peter Zijlstra <peterz@infradead.org>,
"Nicholas Piggin" <npiggin@gmail.com>,
Michael Ellerman <mpe@ellerman.id.au>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
"Paul E. McKenney" <paulmck@kernel.org>,
Will Deacon <will@kernel.org>,
Alan Stern <stern@rowland.harvard.edu>,
John Stultz <jstultz@google.com>,
Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>,
"Frederic Weisbecker" <frederic@kernel.org>,
Joel Fernandes <joel@joelfernandes.org>,
Josh Triplett <josh@joshtriplett.org>,
Uladzislau Rezki <urezki@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
Lai Jiangshan <jiangshanlai@gmail.com>,
Zqiang <qiang.zhang1211@gmail.com>,
Ingo Molnar <mingo@redhat.com>,
"Waiman Long" <longman@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
Vlastimil Babka <vbabka@suse.cz>,
"maged.michael@gmail.com" <maged.michael@gmail.com>,
Mateusz Guzik <mjguzik@gmail.com>,
Jonas Oberhauser <jonas.oberhauser@huaweicloud.com>,
"rcu@vger.kernel.org" <rcu@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"lkmm@lists.linux.dev" <lkmm@lists.linux.dev>,
Gary Guo <gary@garyguo.net>, Nikita Popov <github@npopov.com>,
"llvm@lists.linux.dev" <llvm@lists.linux.dev>
Subject: RE: [RFC PATCH v2 2/4] Documentation: RCU: Refer to ptr_eq()
Date: Sun, 6 Oct 2024 19:52:49 +0000 [thread overview]
Message-ID: <72af935f4a2a4e23b68845d2f6855103@AcuMS.aculab.com> (raw)
In-Reply-To: <20241004182734.1761555-3-mathieu.desnoyers@efficios.com>
From: Mathieu Desnoyers
> Sent: 04 October 2024 19:28
>
> Refer to ptr_eq() in the rcu_dereference() documentation.
>
> ptr_eq() is a mechanism that preserves address dependencies when
> comparing pointers, and should be favored when comparing a pointer
> obtained from rcu_dereference() against another pointer.
Why does this ever really matter for rcu?
The check just ensure that any speculative load uses
a specific one of the pointers when they are different.
This can only matter if you care about the side effects
of the speculative load.
But rcu is all about (things like) lockless list following.
So you need to wait until it is impossible for another
execution context to have a reference to some memory
before actually completely invalidating it (ie kfree()).
And that 50 line comment is pointless.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
next prev parent reply other threads:[~2024-10-06 19:53 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-04 18:27 [RFC PATCH v2 0/4] sched+mm: Track lazy active mm existence with hazard pointers Mathieu Desnoyers
2024-10-04 18:27 ` [RFC PATCH v2 1/4] compiler.h: Introduce ptr_eq() to preserve address dependency Mathieu Desnoyers
2024-10-04 18:27 ` [RFC PATCH v2 2/4] Documentation: RCU: Refer to ptr_eq() Mathieu Desnoyers
2024-10-04 21:15 ` Joel Fernandes
2024-10-06 19:52 ` David Laight [this message]
2024-10-06 20:39 ` Paul E. McKenney
2024-10-07 11:01 ` Sebastian Andrzej Siewior
2024-10-04 18:27 ` [RFC PATCH v2 3/4] hp: Implement Hazard Pointers Mathieu Desnoyers
2024-10-04 21:25 ` Joel Fernandes
2024-10-05 12:05 ` Mathieu Desnoyers
2024-10-05 11:19 ` Frederic Weisbecker
2024-10-05 11:42 ` Mathieu Desnoyers
2024-10-05 16:04 ` Peter Zijlstra
2024-10-05 16:07 ` Peter Zijlstra
2024-10-05 18:56 ` Mathieu Desnoyers
2024-10-07 10:42 ` Peter Zijlstra
2024-10-07 13:22 ` Mathieu Desnoyers
2024-10-05 18:50 ` Mathieu Desnoyers
2024-10-07 10:40 ` Peter Zijlstra
2024-10-07 14:50 ` Mathieu Desnoyers
2024-10-07 18:18 ` Paul E. McKenney
2024-10-07 19:06 ` Paul E. McKenney
2024-10-07 19:08 ` Mathieu Desnoyers
2024-10-04 18:27 ` [RFC PATCH v2 4/4] sched+mm: Use hazard pointers to track lazy active mm existence Mathieu Desnoyers
2024-10-07 14:50 ` kernel test robot
2024-10-07 15:05 ` Mathieu Desnoyers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=72af935f4a2a4e23b68845d2f6855103@AcuMS.aculab.com \
--to=david.laight@aculab.com \
--cc=Neeraj.Upadhyay@amd.com \
--cc=akpm@linux-foundation.org \
--cc=bigeasy@linutronix.de \
--cc=boqun.feng@gmail.com \
--cc=frederic@kernel.org \
--cc=gary@garyguo.net \
--cc=github@npopov.com \
--cc=gregkh@linuxfoundation.org \
--cc=jiangshanlai@gmail.com \
--cc=joel@joelfernandes.org \
--cc=jonas.oberhauser@huaweicloud.com \
--cc=josh@joshtriplett.org \
--cc=jstultz@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lkmm@lists.linux.dev \
--cc=llvm@lists.linux.dev \
--cc=longman@redhat.com \
--cc=maged.michael@gmail.com \
--cc=mark.rutland@arm.com \
--cc=mathieu.desnoyers@efficios.com \
--cc=mingo@redhat.com \
--cc=mjguzik@gmail.com \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=qiang.zhang1211@gmail.com \
--cc=rcu@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=stern@rowland.harvard.edu \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=urezki@gmail.com \
--cc=vbabka@suse.cz \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox