Page MenuHomeFreeBSD

buf_ring: Remove unneeded memory barriers
ClosedPublic

Authored by andrew on Aug 20 2024, 2:14 PM.
Tags
None
Referenced Files
F116059075: D46381.diff
Fri, May 2, 5:07 AM
Unknown Object (File)
Sat, Apr 19, 11:55 PM
Unknown Object (File)
Thu, Apr 17, 4:03 AM
Unknown Object (File)
Fri, Apr 4, 4:53 PM
Unknown Object (File)
Mar 1 2025, 3:31 AM
Unknown Object (File)
Feb 28 2025, 6:33 PM
Unknown Object (File)
Feb 27 2025, 7:21 PM
Unknown Object (File)
Feb 25 2025, 7:24 PM
Subscribers
None

Details

Summary

We no longer need a memory barrier on the compare and set operations.
If these fail then there are appropriate barriers on the loads earlier
in the loop, and if they succeed then no other threads can be accessing
the br_ring entry so any store to it is safe.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 59107
Build 55994: arc lint + arc unit

Event Timeline

andrew created this revision.
sys/sys/buf_ring.h
110

What is the purpose of this rmb?

This revision is now accepted and ready to land.Aug 20 2024, 6:02 PM
This revision was automatically updated to reflect the committed changes.