Page MenuHomeFreeBSD

sfxge: Remove extra cache-line alignment and reorder sfxge_evq_t
ClosedPublic

Authored by arybchik on Jan 28 2015, 8:31 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Oct 5, 8:13 PM
Unknown Object (File)
Sun, Oct 5, 7:10 PM
Unknown Object (File)
Sun, Oct 5, 2:54 PM
Unknown Object (File)
Sun, Oct 5, 2:12 PM
Unknown Object (File)
Sun, Oct 5, 12:46 PM
Unknown Object (File)
Sun, Oct 5, 12:22 PM
Unknown Object (File)
Jun 21 2025, 7:07 PM
Unknown Object (File)
Jun 13 2025, 5:49 PM
Subscribers

Details

Reviewers
gnn
Summary

Remove the first member alignment to cacheline since it is nop.
Use __aligned() for the whole structure to make sure that the structure
size is cacheline aligned.
Remove lock alignment to make the structure smaller and fit all members
used on event queue processing into one cacheline (128 bytes) on x86-64.
The lock is obtained as well from different context when event queue
statistics are retrived from sysctl context, but it is infrequent.
Reorder members to avoid padding and go in usage order on event
processing.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

arybchik retitled this revision from to sfxge: Remove extra cache-line alignment and reorder sfxge_evq_t.
arybchik updated this object.
arybchik edited the test plan for this revision. (Show Details)
arybchik added a reviewer: gnn.
arybchik added a subscriber: Unknown Object (MLST).
gnn edited edge metadata.

Remember to put Approved by: gnn (mentor) in the commit message.

This revision is now accepted and ready to land.Jan 29 2015, 3:58 PM
arybchik edited edge metadata.
arybchik edited subscribers, added: network; removed: Unknown Object (MLST).

Committed to head