> The common use case is a flow expiring during the lifetime of a TCP
> connection. It will result in multiple data packets being sent upwards.
> It's much less likely in the megaflows era though.

I think this is pretty unlikely except in some extreme circumstances.
For a flow to be removed from the datapath, it needs to be idle
(unused) for about 1.5s.  One could construct pathological cases in
which this would be the case for bursty high bandwidth flows, but I
highly doubt it's typical.

Ethan

>
>> >As we extend the GSO path into the upcall and make use of the new DPDK
>> >style ofpbuf to avoid the memcpy() for the mmap case
>> Can you elaborate a bit more on this?
>
> The current upcall code does segmentation which is not required and is
> expensive for the above mentioned case. A single 64K GSO packet will
> automatically result in up to 50 upcalls.
>
> Also, right now, the first thing we do in the mmap case is copy the
> buffer into an ofpbuf. This is not required at all and the copy is
> expensive,  instead, we should make use of the shared memory just like
> in the DPDK case and only release the buffer after the packet has been
> fully processed.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to