diff options
| author | Eric Wong <[email protected]> | 2013-04-30 15:27:38 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2013-04-30 17:04:04 -0700 |
| commit | 39732ca5af4b09f4db561149041ddad7211019a5 (patch) | |
| tree | 654d9dc83e3884358e02dd7d765a22423334840d /scripts/stackusage | |
| parent | 4a22f16636259f503847b0805e04824171b270fc (diff) | |
epoll: trim epitem by one cache line
It is common for epoll users to have thousands of epitems, so saving a
cache line on every allocation leads to large memory savings.
Since epitem allocations are cache-aligned, reducing sizeof(struct
epitem) from 136 bytes to 128 bytes will allow it to squeeze under a
cache line boundary on x86_64.
Via /sys/kernel/slab/eventpoll_epi, I see the following changes on my
x86_64 Core2 Duo (which has 64-byte cache alignment):
object_size : 192 => 128
objs_per_slab: 21 => 32
Also, add a BUILD_BUG_ON() to check for future accidental breakage.
[[email protected]: use __packed, for all architectures]
Signed-off-by: Eric Wong <[email protected]>
Cc: Davide Libenzi <[email protected]>
Cc: Al Viro <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'scripts/stackusage')
0 files changed, 0 insertions, 0 deletions