[ovs-dev] [PATCH v4 2/7] dpif-netdev: Output packet batching.

Eelco Chaudron echaudro at redhat.com
Wed Oct 11 09:06:11 UTC 2017


On 05/10/17 17:05, Ilya Maximets wrote:
> While processing incoming batch of packets they are scattered
> across many per-flow batches and sent separately.
>
> This becomes an issue while using more than a few flows.
>
> For example if we have balanced-tcp OvS bonding with 2 ports
> there will be 256 datapath internal flows for each dp_hash
> pattern. This will lead to scattering of a single recieved
> batch across all of that 256 per-flow batches and invoking
> send for each packet separately. This behaviour greatly degrades
> overall performance of netdev_send because of inability to use
> advantages of vectorized transmit functions.
> But the half (if 2 ports in bonding) of datapath flows will
> have the same output actions. This means that we can collect
> them in a single place back and send at once using single call
> to netdev_send. This patch introduces per-port packet batch
> for output packets for that purpose.
>
> 'output_pkts' batch is thread local and located in send port cache.
>
> Signed-off-by: Ilya Maximets <i.maximets at samsung.com>

Other than my general concern about pmd_thread_ctx_time_update()
stated in the first patch of this series this looks good to me.

Acked-by: Eelco Chaudron <echaudro at redhat.com>

---8<---



More information about the dev mailing list