>-----Original Message----- >From: Daniele Di Proietto [mailto:diproiet...@ovn.org] >Sent: Friday, October 7, 2016 11:46 PM >To: Bodireddy, Bhanuprakash <bhanuprakash.bodire...@intel.com> >Cc: dev@openvswitch.org; Jarno Rajahalme <ja...@ovn.org> >Subject: Re: [ovs-dev] [PATCH 07/12] dpif-netdev: Cache align >netdev_flow_keys. > > > >2016-10-07 14:10 GMT-07:00 Jarno Rajahalme <ja...@ovn.org>: > >> On Oct 7, 2016, at 9:17 AM, Bhanuprakash Bodireddy ><bhanuprakash.bodire...@intel.com> wrote: >> >> Aligning the 'keys' array seems to positively impact performance. >> >> Signed-off-by: Bhanuprakash Bodireddy ><bhanuprakash.bodire...@intel.com> >> Signed-off-by: Antonio Fischetti <antonio.fische...@intel.com> >> --- >> lib/dpif-netdev.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c >> index d0bb191..dfc9cbd 100644 >> --- a/lib/dpif-netdev.c >> +++ b/lib/dpif-netdev.c >> @@ -4157,7 +4157,7 @@ dp_netdev_input__(struct >dp_netdev_pmd_thread *pmd, >> /* Sparse or MSVC doesn't like variable length array. */ >> enum { PKT_ARRAY_SIZE = NETDEV_MAX_BURST }; >> #endif >> - struct netdev_flow_key keys[PKT_ARRAY_SIZE]; >> + struct netdev_flow_key keys[PKT_ARRAY_SIZE] >__attribute__((aligned(64))); > >Due to compiler compatibility you must use OVS_ALIGNED_VAR(64) instead. > >I would also use the CACHE_LINE_SIZE define, instead of 64
Agree, I would change to OVS_ALIGNED_VAR(CACHE_LINE_SIZE) when I send v2. Regards, Bhanu Prakash. >Thanks, >Daniele > >> struct packet_batch_per_flow batches[PKT_ARRAY_SIZE]; >> long long now = time_msec(); >> size_t newcnt, n_batches, i; >> -- >> 2.4.11 >> >> _______________________________________________ >> dev mailing list >> dev@openvswitch.org >> http://openvswitch.org/mailman/listinfo/dev > >_______________________________________________ >dev mailing list >dev@openvswitch.org >http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev