]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC: 277887
authorarybchik <arybchik@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 25 Mar 2015 10:14:30 +0000 (10:14 +0000)
committerarybchik <arybchik@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 25 Mar 2015 10:14:30 +0000 (10:14 +0000)
commit0ed2e159d374aa91df60f28cab3db3a68797f067
treec20416c309c4d9049b1f127a3bfa6ef0f78e6a46
parent93e1b1bd1afd5e3fcd420043957c55071d5670dc
MFC: 277887

sfxge: Remove extra cache-line alignment and reorder sfxge_evq_t

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.
As the result all structure members used on event queue processing fit
into exactly one cacheline (128 byte) now.

Sponsored by:   Solarflare Communications, Inc.
Approved by:    gnn (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/10@280511 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/sfxge/sfxge.h