diff options
| author | Ivan Vecera <[email protected]> | 2018-07-10 20:59:48 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2018-07-12 07:03:31 +0000 |
| commit | 28ace84b10fa5a1bb542ee7198743e3c02e23a07 (patch) | |
| tree | e726725df1a4852c02b661c1233d5a0ff8d84a10 /net/ipv4/tcp_input.c | |
| parent | be2net: re-order fields in be_error_recovert to avoid hole (diff) | |
| download | kernel-28ace84b10fa5a1bb542ee7198743e3c02e23a07.tar.gz kernel-28ace84b10fa5a1bb542ee7198743e3c02e23a07.zip | |
be2net: move rss_flags field in rss_info to ensure proper alignment
The current position of .rss_flags field in struct rss_info causes
that fields .rsstable and .rssqueue (both 128 bytes long) crosses
cache-line boundaries. Moving it at the end properly align all fields.
Before patch:
struct rss_info {
u64 rss_flags; /* 0 8 */
u8 rsstable[128]; /* 8 128 */
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */
u8 rss_queue[128]; /* 136 128 */
/* --- cacheline 4 boundary (256 bytes) was 8 bytes ago --- */
u8 rss_hkey[40]; /* 264 40 */
};
After patch:
struct rss_info {
u8 rsstable[128]; /* 0 128 */
/* --- cacheline 2 boundary (128 bytes) --- */
u8 rss_queue[128]; /* 128 128 */
/* --- cacheline 4 boundary (256 bytes) --- */
u8 rss_hkey[40]; /* 256 40 */
u64 rss_flags; /* 296 8 */
};
Signed-off-by: Ivan Vecera <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/ipv4/tcp_input.c')
0 files changed, 0 insertions, 0 deletions
