From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id DCA1843D05;
	Wed, 20 Mar 2024 16:45:20 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 0A01B42EBB;
	Wed, 20 Mar 2024 16:39:41 +0100 (CET)
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
 by mails.dpdk.org (Postfix) with ESMTP id B0BF0427DD
 for <dev@dpdk.org>; Wed, 20 Mar 2024 16:38:38 +0100 (CET)
Received: by linux.microsoft.com (Postfix, from userid 1086)
 id 3454920B371E; Wed, 20 Mar 2024 08:38:22 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 3454920B371E
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
 s=default; t=1710949105;
 bh=TNPzGNpI+xWeIIIN25Ir/LUIKmB6azDq6K3NE9x9qys=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=KP2NUko2nncPBCSs+uqchE6oB3crKef+RFkK4iKrz7a37cUejy2n0nodewfGYDgfB
 oecmhxQ06/Hccmt+dHydRDtHZ2ZeGJIY9t0ZNQXGoRN/fVT2ytlQ6yJiQ09kcST/9B
 Qmz3U4uS4JRh6HOmyIc3S8tNinFdFmFvcUsO58YU=
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: =?UTF-8?q?Mattias=20R=C3=B6nnblom?= <mattias.ronnblom@ericsson.com>,
 "Min Hu (Connor)" <humin29@huawei.com>,
 =?UTF-8?q?Morten=20Br=C3=B8rup?= <mb@smartsharesystems.com>,
 Abdullah Sevincer <abdullah.sevincer@intel.com>,
 Ajit Khaparde <ajit.khaparde@broadcom.com>,
 Akhil Goyal <gakhil@marvell.com>, Alok Prasad <palok@marvell.com>,
 Amit Bernstein <amitbern@amazon.com>,
 Anatoly Burakov <anatoly.burakov@intel.com>,
 Andrew Boyer <andrew.boyer@amd.com>,
 Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
 Ankur Dwivedi <adwivedi@marvell.com>, Anoob Joseph <anoobj@marvell.com>,
 Ashish Gupta <ashish.gupta@marvell.com>,
 Ashwin Sekhar T K <asekhar@marvell.com>,
 Bruce Richardson <bruce.richardson@intel.com>,
 Byron Marohn <byron.marohn@intel.com>,
 Chaoyong He <chaoyong.he@corigine.com>, Chas Williams <chas3@att.com>,
 Chenbo Xia <chenbox@nvidia.com>, Chengwen Feng <fengchengwen@huawei.com>,
 Conor Walsh <conor.walsh@intel.com>,
 Cristian Dumitrescu <cristian.dumitrescu@intel.com>,
 Dariusz Sosnowski <dsosnowski@nvidia.com>,
 David Hunt <david.hunt@intel.com>,
 Devendra Singh Rawat <dsinghrawat@marvell.com>,
 Ed Czeck <ed.czeck@atomicrules.com>,
 Evgeny Schemeilin <evgenys@amazon.com>, Fan Zhang <fanzhang.oss@gmail.com>,
 Gagandeep Singh <g.singh@nxp.com>, Guoyang Zhou <zhouguoyang@huawei.com>,
 Harman Kalra <hkalra@marvell.com>,
 Harry van Haaren <harry.van.haaren@intel.com>,
 Hemant Agrawal <hemant.agrawal@nxp.com>,
 Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>,
 Hyong Youb Kim <hyonkim@cisco.com>, Jakub Grajciar <jgrajcia@cisco.com>,
 Jerin Jacob <jerinj@marvell.com>, Jian Wang <jianwang@trustnetic.com>,
 Jiawen Wu <jiawenwu@trustnetic.com>, Jie Hai <haijie1@huawei.com>,
 Jingjing Wu <jingjing.wu@intel.com>, John Daley <johndale@cisco.com>,
 John Miller <john.miller@atomicrules.com>, Joyce Kong <joyce.kong@arm.com>,
 Junfeng Guo <junfeng.guo@intel.com>, Kai Ji <kai.ji@intel.com>,
 Kevin Laatz <kevin.laatz@intel.com>,
 Kiran Kumar K <kirankumark@marvell.com>,
 Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>,
 Lee Daly <lee.daly@intel.com>, Liang Ma <liangma@liangbit.com>,
 Liron Himi <lironh@marvell.com>, Long Li <longli@microsoft.com>,
 Maciej Czekaj <mczekaj@marvell.com>, Matan Azrad <matan@nvidia.com>,
 Matt Peters <matt.peters@windriver.com>,
 Maxime Coquelin <maxime.coquelin@redhat.com>,
 Michael Shamis <michaelsh@marvell.com>,
 Nagadheeraj Rottela <rnagadheeraj@marvell.com>,
 Nicolas Chautru <nicolas.chautru@intel.com>,
 Nithin Dabilpuram <ndabilpuram@marvell.com>, Ori Kam <orika@nvidia.com>,
 Pablo de Lara <pablo.de.lara.guarch@intel.com>,
 Pavan Nikhilesh <pbhagavatula@marvell.com>,
 Peter Mccarthy <peter.mccarthy@intel.com>,
 Radu Nicolau <radu.nicolau@intel.com>,
 Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>,
 Rakesh Kudurumalla <rkudurumalla@marvell.com>,
 Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>,
 Reshma Pattan <reshma.pattan@intel.com>, Ron Beider <rbeider@amazon.com>,
 Ruifeng Wang <ruifeng.wang@arm.com>, Sachin Saxena <sachin.saxena@nxp.com>,
 Selwin Sebastian <selwin.sebastian@amd.com>,
 Shai Brandes <shaibran@amazon.com>,
 Shepard Siegel <shepard.siegel@atomicrules.com>,
 Shijith Thotton <sthotton@marvell.com>,
 Sivaprasad Tummala <sivaprasad.tummala@amd.com>,
 Somnath Kotur <somnath.kotur@broadcom.com>,
 Srikanth Yalavarthi <syalavarthi@marvell.com>,
 Stephen Hemminger <stephen@networkplumber.org>,
 Steven Webster <steven.webster@windriver.com>,
 Suanming Mou <suanmingm@nvidia.com>, Sunil Kumar Kori <skori@marvell.com>,
 Sunil Uttarwar <sunilprakashrao.uttarwar@amd.com>,
 Sunila Sahu <ssahu@marvell.com>, Tejasree Kondoj <ktejasree@marvell.com>,
 Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
 Vikas Gupta <vikas.gupta@broadcom.com>,
 Volodymyr Fialko <vfialko@marvell.com>,
 Wajeeh Atrash <atrwajee@amazon.com>, Wisam Jaddo <wisamm@nvidia.com>,
 Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>,
 Yipeng Wang <yipeng1.wang@intel.com>,
 Yisen Zhuang <yisen.zhuang@huawei.com>,
 Yuying Zhang <Yuying.Zhang@intel.com>,
 Zhangfei Gao <zhangfei.gao@linaro.org>, Zhirun Yan <yanzhirun_163@163.com>,
 Ziyang Xuan <xuanziyang2@huawei.com>,
 Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH 79/83] app/test-flow-perf: move alignment attribute on types
Date: Wed, 20 Mar 2024 08:38:12 -0700
Message-Id: <1710949096-5786-80-git-send-email-roretzla@linux.microsoft.com>
X-Mailer: git-send-email 1.8.3.1
In-Reply-To: <1710949096-5786-1-git-send-email-roretzla@linux.microsoft.com>
References: <1710949096-5786-1-git-send-email-roretzla@linux.microsoft.com>
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

Move location of __rte_aligned(a) to new conventional location. The new
placement between {struct,union} and the tag allows the desired
alignment to be imparted on the type regardless of the toolchain being
used for both C and C++. Additionally, it avoids confusion by Doxygen
when generating documentation.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
 app/test-flow-perf/actions_gen.c | 51 ++++++++++++++++++++++------------------
 app/test-flow-perf/items_gen.c   | 22 +++++++++--------
 app/test-flow-perf/main.c        |  8 +++----
 3 files changed, 44 insertions(+), 37 deletions(-)

diff --git a/app/test-flow-perf/actions_gen.c b/app/test-flow-perf/actions_gen.c
index f1d5931..b5336e8 100644
--- a/app/test-flow-perf/actions_gen.c
+++ b/app/test-flow-perf/actions_gen.c
@@ -62,7 +62,8 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_mark mark_actions[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE)
+	    struct rte_flow_action_mark mark_actions[RTE_MAX_LCORE];
 	uint32_t counter = para.counter;
 
 	do {
@@ -79,7 +80,8 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_queue queue_actions[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE)
+	    struct rte_flow_action_queue queue_actions[RTE_MAX_LCORE];
 
 	do {
 		queue_actions[para.core_idx].index = para.queue;
@@ -109,7 +111,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct action_rss_data *rss_data[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct action_rss_data *rss_data[RTE_MAX_LCORE];
 
 	uint16_t queue;
 
@@ -208,7 +210,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_mac set_macs[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_mac set_macs[RTE_MAX_LCORE];
 	uint32_t mac = para.counter;
 	uint16_t i;
 
@@ -231,7 +233,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_mac set_macs[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_mac set_macs[RTE_MAX_LCORE];
 	uint32_t mac = para.counter;
 	uint16_t i;
 
@@ -254,7 +256,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_ipv4 set_ipv4[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_ipv4 set_ipv4[RTE_MAX_LCORE];
 	uint32_t ip = para.counter;
 
 	/* Fixed value */
@@ -273,7 +275,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_ipv4 set_ipv4[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_ipv4 set_ipv4[RTE_MAX_LCORE];
 	uint32_t ip = para.counter;
 
 	/* Fixed value */
@@ -292,7 +294,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_ipv6 set_ipv6[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_ipv6 set_ipv6[RTE_MAX_LCORE];
 	uint32_t ipv6 = para.counter;
 	uint8_t i;
 
@@ -315,7 +317,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_ipv6 set_ipv6[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_ipv6 set_ipv6[RTE_MAX_LCORE];
 	uint32_t ipv6 = para.counter;
 	uint8_t i;
 
@@ -338,7 +340,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_tp set_tp[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_tp set_tp[RTE_MAX_LCORE];
 	uint32_t tp = para.counter;
 
 	/* Fixed value */
@@ -359,7 +361,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_tp set_tp[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_tp set_tp[RTE_MAX_LCORE];
 	uint32_t tp = para.counter;
 
 	/* Fixed value */
@@ -381,7 +383,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static rte_be32_t value[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) rte_be32_t value[RTE_MAX_LCORE];
 	uint32_t ack_value = para.counter;
 
 	/* Fixed value */
@@ -399,7 +401,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static rte_be32_t value[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) rte_be32_t value[RTE_MAX_LCORE];
 	uint32_t ack_value = para.counter;
 
 	/* Fixed value */
@@ -417,7 +419,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static rte_be32_t value[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) rte_be32_t value[RTE_MAX_LCORE];
 	uint32_t seq_value = para.counter;
 
 	/* Fixed value */
@@ -435,7 +437,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static rte_be32_t value[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) rte_be32_t value[RTE_MAX_LCORE];
 	uint32_t seq_value = para.counter;
 
 	/* Fixed value */
@@ -453,7 +455,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_ttl set_ttl[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_ttl set_ttl[RTE_MAX_LCORE];
 	uint32_t ttl_value = para.counter;
 
 	/* Fixed value */
@@ -482,7 +484,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_dscp set_dscp[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_dscp set_dscp[RTE_MAX_LCORE];
 	uint32_t dscp_value = para.counter;
 
 	/* Fixed value */
@@ -503,7 +505,7 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_action_set_dscp set_dscp[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_set_dscp set_dscp[RTE_MAX_LCORE];
 	uint32_t dscp_value = para.counter;
 
 	/* Fixed value */
@@ -770,7 +772,8 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct action_raw_encap_data *action_encap_data[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE)
+	    struct action_raw_encap_data *action_encap_data[RTE_MAX_LCORE];
 	uint64_t encap_data = para.encap_data;
 	uint8_t *header;
 	uint8_t i;
@@ -807,7 +810,8 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	struct additional_para para)
 {
-	static struct action_raw_decap_data *action_decap_data[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE)
+	    struct action_raw_decap_data *action_decap_data[RTE_MAX_LCORE];
 	uint64_t decap_data = para.decap_data;
 	uint8_t *header;
 	uint8_t i;
@@ -844,7 +848,8 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	__rte_unused struct additional_para para)
 {
-	static struct rte_flow_action_vxlan_encap vxlan_encap[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE)
+	    struct rte_flow_action_vxlan_encap vxlan_encap[RTE_MAX_LCORE];
 	static struct rte_flow_item items[5];
 	static struct rte_flow_item_eth item_eth;
 	static struct rte_flow_item_ipv4 item_ipv4;
@@ -900,8 +905,8 @@ struct action_rss_data {
 	uint8_t actions_counter,
 	__rte_unused struct additional_para para)
 {
-	static struct rte_flow_action_meter
-		meters[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_action_meter
+		meters[RTE_MAX_LCORE];
 
 	meters[para.core_idx].mtr_id = para.counter;
 	actions[actions_counter].type = RTE_FLOW_ACTION_TYPE_METER;
diff --git a/app/test-flow-perf/items_gen.c b/app/test-flow-perf/items_gen.c
index 8592834..4ae7250 100644
--- a/app/test-flow-perf/items_gen.c
+++ b/app/test-flow-perf/items_gen.c
@@ -52,8 +52,8 @@ struct additional_para {
 add_ipv4(struct rte_flow_item *items,
 	uint8_t items_counter, struct additional_para para)
 {
-	static struct rte_flow_item_ipv4 ipv4_specs[RTE_MAX_LCORE] __rte_cache_aligned;
-	static struct rte_flow_item_ipv4 ipv4_masks[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_item_ipv4 ipv4_specs[RTE_MAX_LCORE];
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_item_ipv4 ipv4_masks[RTE_MAX_LCORE];
 	uint8_t ti = para.core_idx;
 
 	ipv4_specs[ti].hdr.src_addr = RTE_BE32(para.src_ip);
@@ -69,8 +69,8 @@ struct additional_para {
 add_ipv6(struct rte_flow_item *items,
 	uint8_t items_counter, struct additional_para para)
 {
-	static struct rte_flow_item_ipv6 ipv6_specs[RTE_MAX_LCORE] __rte_cache_aligned;
-	static struct rte_flow_item_ipv6 ipv6_masks[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_item_ipv6 ipv6_specs[RTE_MAX_LCORE];
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_item_ipv6 ipv6_masks[RTE_MAX_LCORE];
 	uint8_t ti = para.core_idx;
 	uint8_t i;
 
@@ -118,8 +118,8 @@ struct additional_para {
 	uint8_t items_counter,
 	struct additional_para para)
 {
-	static struct rte_flow_item_vxlan vxlan_specs[RTE_MAX_LCORE] __rte_cache_aligned;
-	static struct rte_flow_item_vxlan vxlan_masks[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_item_vxlan vxlan_specs[RTE_MAX_LCORE];
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_item_vxlan vxlan_masks[RTE_MAX_LCORE];
 	uint8_t ti = para.core_idx;
 	uint32_t vni_value;
 	uint8_t i;
@@ -145,8 +145,10 @@ struct additional_para {
 	uint8_t items_counter,
 	__rte_unused struct additional_para para)
 {
-	static struct rte_flow_item_vxlan_gpe vxlan_gpe_specs[RTE_MAX_LCORE] __rte_cache_aligned;
-	static struct rte_flow_item_vxlan_gpe vxlan_gpe_masks[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE)
+	    struct rte_flow_item_vxlan_gpe vxlan_gpe_specs[RTE_MAX_LCORE];
+	static alignas(RTE_CACHE_LINE_SIZE)
+	    struct rte_flow_item_vxlan_gpe vxlan_gpe_masks[RTE_MAX_LCORE];
 	uint8_t ti = para.core_idx;
 	uint32_t vni_value;
 	uint8_t i;
@@ -189,8 +191,8 @@ struct additional_para {
 	uint8_t items_counter,
 	__rte_unused struct additional_para para)
 {
-	static struct rte_flow_item_geneve geneve_specs[RTE_MAX_LCORE] __rte_cache_aligned;
-	static struct rte_flow_item_geneve geneve_masks[RTE_MAX_LCORE] __rte_cache_aligned;
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_item_geneve geneve_specs[RTE_MAX_LCORE];
+	static alignas(RTE_CACHE_LINE_SIZE) struct rte_flow_item_geneve geneve_masks[RTE_MAX_LCORE];
 	uint8_t ti = para.core_idx;
 	uint32_t vni_value;
 	uint8_t i;
diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c
index e224ef6..07ddfe0 100644
--- a/app/test-flow-perf/main.c
+++ b/app/test-flow-perf/main.c
@@ -113,7 +113,7 @@ struct stream {
 	int rx_queue;
 };
 
-struct lcore_info {
+struct __rte_cache_aligned lcore_info {
 	int mode;
 	int streams_nb;
 	struct stream streams[MAX_STREAMS];
@@ -122,7 +122,7 @@ struct lcore_info {
 	uint64_t tx_drops;
 	uint64_t rx_pkts;
 	struct rte_mbuf *pkts[MAX_PKT_BURST];
-} __rte_cache_aligned;
+};
 
 static struct lcore_info lcore_infos[RTE_MAX_LCORE];
 
@@ -131,14 +131,14 @@ struct used_cpu_time {
 	double deletion[MAX_PORTS][RTE_MAX_LCORE];
 };
 
-struct multi_cores_pool {
+struct __rte_cache_aligned multi_cores_pool {
 	uint32_t cores_count;
 	uint32_t rules_count;
 	struct used_cpu_time meters_record;
 	struct used_cpu_time flows_record;
 	int64_t last_alloc[RTE_MAX_LCORE];
 	int64_t current_alloc[RTE_MAX_LCORE];
-} __rte_cache_aligned;
+};
 
 static struct multi_cores_pool mc_pool = {
 	.cores_count = 1,
-- 
1.8.3.1