mirror of
https://github.com/torvalds/linux.git
synced 2024-12-12 14:12:51 +00:00
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 <cera@cera.cz> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
03d231a963
commit
28ace84b10
@ -436,10 +436,10 @@ struct be_port_resources {
|
||||
#define be_is_os2bmc_enabled(adapter) (adapter->flags & BE_FLAGS_OS2BMC)
|
||||
|
||||
struct rss_info {
|
||||
u64 rss_flags;
|
||||
u8 rsstable[RSS_INDIR_TABLE_LEN];
|
||||
u8 rss_queue[RSS_INDIR_TABLE_LEN];
|
||||
u8 rss_hkey[RSS_HASH_KEY_LEN];
|
||||
u64 rss_flags;
|
||||
};
|
||||
|
||||
#define BE_INVALID_DIE_TEMP 0xFF
|
||||
|
Loading…
Reference in New Issue
Block a user