DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/3] net/virtio: Rx paths cleanup
@ 2018-12-03 15:10 Maxime Coquelin
  2018-12-03 15:10 ` [dpdk-dev] [PATCH 1/3] net/virtio: inline refill and offload helpers Maxime Coquelin
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Maxime Coquelin @ 2018-12-03 15:10 UTC (permalink / raw)
  To: dev, jfreimann, tiwei.bie, zhihong.wang; +Cc: Maxime Coquelin

This is series mainly merges out-of-order mergeable and
non-mergeable Rx paths.

Doing so, we remove one path, and micro-benchmark does not
show any performance regression:

                +---------+----------+----------+----------+----------+----------+
                |            V18.11             |    v18.11 + Rx paths merge     |
                +---------+----------+----------+----------+----------+----------+
                | 1 queue | 2 queues | 3 queues | 1 queue  | 2 queues | 3 queues |
+-----+---------+---------+----------+----------+----------+----------+----------+
| MRG | Rxonly  | 16.22   | 32.47    | 48.81    | 16.31    | 32.62    | 48.88    |
| OFF | IO loop | 12.86   | 25.69    | 38.16    | 12.88    | 25.74    | 38.53    |
+-----+---------+---------+----------+----------+----------+----------+----------+
| MRG | Rxonly  | 16.27   | 32.65    | 48.81    | 16.29    | 32.67    | 48.77    |
| ON  | IO loop | 12.82   | 25.59    | 37.86    | 12.86    | 25.68    | 37.9     |
+-----+---------+---------+----------+----------+----------+----------+----------+

Note that to avoid vector path to be selected as this benchmark is done
without offloads, I had to do this small change to disable it in
virtio_dev_configure():
-       hw->use_simple_rx = 1;
+       hw->use_simple_rx = 0;

The series also enables in-order path selection when mergeable buffers feature
is disabled. Offload and refill helpers are also changed to be inlined.

Maxime Coquelin (3):
  net/virtio: inline refill and offload helpers
  net/virtio: merge Rx mergeable and non-mergeable paths
  net/virtio: add non-mergeable support to in-order path

 drivers/net/virtio/virtio_ethdev.c |  16 +---
 drivers/net/virtio/virtio_ethdev.h |   5 +-
 drivers/net/virtio/virtio_rxtx.c   | 133 ++++-------------------------
 3 files changed, 22 insertions(+), 132 deletions(-)

-- 
2.17.2

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-12-07 16:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-03 15:10 [dpdk-dev] [PATCH 0/3] net/virtio: Rx paths cleanup Maxime Coquelin
2018-12-03 15:10 ` [dpdk-dev] [PATCH 1/3] net/virtio: inline refill and offload helpers Maxime Coquelin
2018-12-03 15:10 ` [dpdk-dev] [PATCH 2/3] net/virtio: merge Rx mergeable and non-mergeable paths Maxime Coquelin
2018-12-07 16:15   ` Maxime Coquelin
2018-12-03 15:10 ` [dpdk-dev] [PATCH 3/3] net/virtio: add non-mergeable support to in-order path Maxime Coquelin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).