rte table hash structs rte_bucket_4_8, rte_bucket_4_16 and rte_bucket_4_32 have to be cache aligned as required by their corresponding hash create functions rte_table_hash_create_key8_lru etc.
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m at linux.vnet.ibm.com> --- lib/librte_table/rte_table_hash_key16.c | 4 ++-- lib/librte_table/rte_table_hash_key32.c | 4 ++-- lib/librte_table/rte_table_hash_key8.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/librte_table/rte_table_hash_key16.c b/lib/librte_table/rte_table_hash_key16.c index b7e000f..2102326 100644 --- a/lib/librte_table/rte_table_hash_key16.c +++ b/lib/librte_table/rte_table_hash_key16.c @@ -68,10 +68,10 @@ struct rte_bucket_4_16 { uint64_t next_valid; /* Cache line 1 */ - uint64_t key[4][2]; + uint64_t key[4][2] __rte_cache_aligned; /* Cache line 2 */ - uint8_t data[0]; + uint8_t data[0] __rte_cache_aligned; }; struct rte_table_hash { diff --git a/lib/librte_table/rte_table_hash_key32.c b/lib/librte_table/rte_table_hash_key32.c index a7aba49..619f63a 100644 --- a/lib/librte_table/rte_table_hash_key32.c +++ b/lib/librte_table/rte_table_hash_key32.c @@ -68,10 +68,10 @@ struct rte_bucket_4_32 { uint64_t next_valid; /* Cache lines 1 and 2 */ - uint64_t key[4][4]; + uint64_t key[4][4] __rte_cache_aligned; /* Cache line 3 */ - uint8_t data[0]; + uint8_t data[0] __rte_cache_aligned; }; struct rte_table_hash { diff --git a/lib/librte_table/rte_table_hash_key8.c b/lib/librte_table/rte_table_hash_key8.c index e2e2bdc..4d5e0cd 100644 --- a/lib/librte_table/rte_table_hash_key8.c +++ b/lib/librte_table/rte_table_hash_key8.c @@ -68,7 +68,7 @@ struct rte_bucket_4_8 { uint64_t key[4]; /* Cache line 1 */ - uint8_t data[0]; + uint8_t data[0] __rte_cache_aligned; }; struct rte_table_hash { -- 1.9.1