On Tue May 9, 2023 at 3:26 PM AEST, Rohan McLure wrote:
quoted
On 9 May 2023, at 12:04 pm, Nicholas Piggin [off-list ref] wrote:
On Mon May 8, 2023 at 12:01 PM AEST, Rohan McLure wrote:
quoted
Use a compiler barrier to enforce that all fields of a new struct qnode
be written to (especially the lock value) before publishing the qnode to
the waitqueue.
publish_tail_cpu is the release barrier for this and includes the memory
clobber there. Can we annotate that instead?
Got it, I see that one now.
On another note though, it looks like the memory clobber doesn’t serve
to squash KCSAN warnings here.
Aha, publish_tail_cpu() needs a kcsan_release().
Thanks,
Nick