quoted
Looking at the perf ring buffer, there appears to be a missing barrier in
perf_aux_output_end():
rb->user_page->aux_head = rb->aux_head;
should be:
smp_store_release(&rb->user_page->aux_head, rb->aux_head);
It should also be using smp_load_acquire(). See
Documentation/core-api/circular-buffers.rst
And a (partial) patch has been proposed: https://lkml.org/lkml/2018/5/10/249
So, if that's all that needs to be fixed, can you use the same
buffer/code if that patch is merged?
That's about one year old...: let me add the usual suspects in Cc: ;-)
since I'm not sure what the plan was (or if I'm missing something) ...
Speaking of ring buffer implementations (and relatively "old" patches),
here's another quite interesting:
https://lkml.kernel.org/r/20181211034032.32338-1-yuleixzhang@tencent.com
Thanks,
Andrea