[ovs-dev] [PATCH 07/12] dpif-netdev: Cache align netdev_flow_keys.

Bodireddy, Bhanuprakash bhanuprakash.bodireddy at intel.com
Mon Oct 10 15:44:59 UTC 2016


>-----Original Message-----
>From: Daniele Di Proietto [mailto:diproiettod at ovn.org]
>Sent: Friday, October 7, 2016 11:46 PM
>To: Bodireddy, Bhanuprakash <bhanuprakash.bodireddy at intel.com>
>Cc: dev at openvswitch.org; Jarno Rajahalme <jarno at 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 <jarno at ovn.org>:
>
>> On Oct 7, 2016, at 9:17 AM, Bhanuprakash Bodireddy
><bhanuprakash.bodireddy at intel.com> wrote:
>>
>> Aligning the 'keys' array seems to positively impact performance.
>>
>> Signed-off-by: Bhanuprakash Bodireddy
><bhanuprakash.bodireddy at intel.com>
>> Signed-off-by: Antonio Fischetti <antonio.fischetti at 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 at openvswitch.org
>> http://openvswitch.org/mailman/listinfo/dev
>
>_______________________________________________
>dev mailing list
>dev at openvswitch.org
>http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list