On 25/01/2016 18:20, "Andy Zhou" <az...@ovn.org> wrote:

>On Sun, Jan 24, 2016 at 8:32 AM, Ben Pfaff <b...@ovn.org> wrote:
>
>> Before this commit, emc_processing() copied a netdev_flow_key if there
>>was
>> no exact-match cache (EMC) hit.  This commit eliminates the copy by
>> constructing the netdev_flow_key in the place it would be copied.
>>
>> Found by inspection.
>>
>> Shahbaz (CCed) reports that this reduces the cost of an EMC miss by 72
>> cycles in his test case in which the EMC is disabled.  Presumably this
>> is similarly valuable in cases where the EMC merely has few hits.
>>
>> CC: Muhammad Shahbaz <mshah...@cs.princeton.edu>
>> Signed-off-by: Ben Pfaff <b...@ovn.org>
>>
>
>Logic looks good to me.
>
>Acked-by: Andy Zhou <az...@ovn.org>
>
>I think Daniele is testing on performance impact on this patch. so it is
>may be worthwhile
>to wait for his input before pushing the change.

If I disable the EMC I observe an increase in throughput when this patch
is applied (from ~4.8 Mpps to ~5.4 Mpps).

If the EMC is enabled, instead, I see a drop in throughput
(from ~12.4 Mpps to ~12.0 Mpps) with this patch.

At a first glance it looks like this patch is preventing my compiler
(GCC 4.8) to perform some optimization.

It is probably a good idea to apply this anyway given the numbers, but
I'd like to do some more testing to figure out if we can avoid the drop
in the EMC-only case.

Thanks,

Daniele

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to