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)
Dec 20 2023, 3:53 AM
Unknown Object (File)
Aug 27 2023, 6:54 AM
Unknown Object (File)
Aug 13 2023, 6:16 AM
Unknown Object (File)
Jun 27 2023, 11:32 PM
Unknown Object (File)
Sep 13 2016, 3:38 PM
Unknown Object (File)
Sep 7 2016, 6:22 PM
Unknown Object (File)
Jan 22 2016, 1:37 PM
Unknown Object (File)
Jan 5 2016, 5:14 AM
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