From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: dev@dpdk.org, chenbo.xia@intel.com, amorenoz@redhat.com,
david.marchand@redhat.com, olivier.matz@6wind.com,
bnemeth@redhat.com
Cc: Maxime Coquelin <maxime.coquelin@redhat.com>
Subject: [dpdk-dev] [PATCH v4 0/4] net/virtio: make virtqueue struct cache-friendly
Date: Tue, 16 Mar 2021 10:38:21 +0100 [thread overview]
Message-ID: <20210316093825.478723-1-maxime.coquelin@redhat.com> (raw)
This series optimizes the cache usage of virtqueue struct,
by making a "fake" mbuf being dynamically allocated in Rx
virtnet struct, by removing a useless virtuque pointer
into the virtnet structs and by moving a few fields
to pack holes.
With these 3 patches, the virtqueue struct size goes from
576 bytes (9 cachelines) to 248 bytes (4 cachelines).
Changes in v4:
==============
- Fix ARM build failure after rebase (0-day robot)
- Fix fake_mbuf freeing (David)
- Applied David R-by
Changes in v3:
==============
- Use rte_zmalloc_socket for fake mbuf alloc (David)
- Fix typos in commit messages
- Remove superfluous pointer check befor freeing (David)
- Fix checkpatch warnings
Changes in v2:
==============
- Rebase on latest main
- Improve error path in virtio_init_queue
- Fix various typos in commit messages
Maxime Coquelin (4):
net/virtio: remove reference to virtqueue in vrings
net/virtio: improve queue init error path
net/virtio: allocate fake mbuf in Rx queue
net/virtio: pack virtqueue struct
drivers/net/virtio/virtio_ethdev.c | 64 +++++++++++--------
drivers/net/virtio/virtio_rxtx.c | 37 +++++------
drivers/net/virtio/virtio_rxtx.h | 5 +-
drivers/net/virtio/virtio_rxtx_packed.c | 4 +-
drivers/net/virtio/virtio_rxtx_packed.h | 6 +-
drivers/net/virtio/virtio_rxtx_packed_avx.h | 4 +-
drivers/net/virtio/virtio_rxtx_packed_neon.h | 4 +-
drivers/net/virtio/virtio_rxtx_simple.h | 2 +-
.../net/virtio/virtio_rxtx_simple_altivec.c | 2 +-
drivers/net/virtio/virtio_rxtx_simple_neon.c | 2 +-
drivers/net/virtio/virtio_rxtx_simple_sse.c | 2 +-
.../net/virtio/virtio_user/virtio_user_dev.c | 4 +-
drivers/net/virtio/virtio_user_ethdev.c | 2 +-
drivers/net/virtio/virtqueue.h | 24 ++++---
14 files changed, 87 insertions(+), 75 deletions(-)
--
2.29.2
next reply other threads:[~2021-03-16 9:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-16 9:38 Maxime Coquelin [this message]
2021-03-16 9:38 ` [dpdk-dev] [PATCH v4 1/4] net/virtio: remove reference to virtqueue in vrings Maxime Coquelin
2021-03-16 9:38 ` [dpdk-dev] [PATCH v4 2/4] net/virtio: improve queue init error path Maxime Coquelin
2021-03-17 9:01 ` Xia, Chenbo
2021-03-16 9:38 ` [dpdk-dev] [PATCH v4 3/4] net/virtio: allocate fake mbuf in Rx queue Maxime Coquelin
2021-03-17 9:10 ` Xia, Chenbo
2021-03-16 9:38 ` [dpdk-dev] [PATCH v4 4/4] net/virtio: pack virtqueue struct Maxime Coquelin
2021-03-29 10:55 ` [dpdk-dev] [PATCH v4 0/4] net/virtio: make virtqueue struct cache-friendly Balazs Nemeth
2021-03-31 5:44 ` Xia, Chenbo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210316093825.478723-1-maxime.coquelin@redhat.com \
--to=maxime.coquelin@redhat.com \
--cc=amorenoz@redhat.com \
--cc=bnemeth@redhat.com \
--cc=chenbo.xia@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=olivier.matz@6wind.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.