|
|
Log in / Subscribe / Register

virtio-net: support dynamic coalescing moderation

From:  Heng Qi <hengqi-AT-linux.alibaba.com>
To:  Jason Wang <jasowang-AT-redhat.com>, "Michael S. Tsirkin" <mst-AT-redhat.com>, netdev-AT-vger.kernel.org, virtualization-AT-lists.linux-foundation.org
Subject:  [PATCH net-next 0/5] virtio-net: support dynamic coalescing moderation
Date:  Thu, 12 Oct 2023 15:44:04 +0800
Message-ID:  <cover.1697093455.git.hengqi@linux.alibaba.com>
Cc:  Xuan Zhuo <xuanzhuo-AT-linux.alibaba.com>, Eric Dumazet <edumazet-AT-google.com>, "David S. Miller" <davem-AT-davemloft.net>, Paolo Abeni <pabeni-AT-redhat.com>, Jesper Dangaard Brouer <hawk-AT-kernel.org>, John Fastabend <john.fastabend-AT-gmail.com>, Alexei Starovoitov <ast-AT-kernel.org>, Jakub Kicinski <kuba-AT-kernel.org>, Simon Horman <horms-AT-kernel.org>, "Liu, Yujie" <yujie.liu-AT-intel.com>
Archive-link:  Article

Now, virtio-net already supports per-queue moderation parameter
setting. Based on this, we use the netdim library of linux to support
dynamic coalescing moderation for virtio-net.

Due to hardware scheduling issues, we only tested rx dim.

@Test env
rxq0 has affinity to cpu0.

@Test cmd
client: taskset -c 0 sockperf tp -i ${IP} -t 30 --tcp -m ${msg_size}
server: taskset -c 0 sockperf sr --tcp

@Test res
The second column is the ratio of the result returned by client
when rx dim is enabled to the result returned by client when
rx dim is disabled.
	--------------------------------------
	| msg_size |  rx_dim=on / rx_dim=off |
	--------------------------------------
	|   14B    |         + 3%            |   
	--------------------------------------
	|   100B   |         + 16%           |
	--------------------------------------
	|   500B   |         + 25%           |
	--------------------------------------
	|   1400B  |         + 28%           |
	--------------------------------------
	|   2048B  |         + 22%           |
	--------------------------------------
	|   4096B  |         + 5%            |
	--------------------------------------

---
This patch set was part of the previous netdim patch set[1].
[1] was split into a merged bugfix set[2] and the current set.
The previous relevant commentators have been Cced.

[1] https://lore.kernel.org/all/20230811065512.22190-1-hengqi...
[2] https://lore.kernel.org/all/cover.1696745452.git.hengqi@l...

Heng Qi (5):
  virtio-net: returns whether napi is complete
  virtio-net: separate rx/tx coalescing moderation cmds
  virtio-net: extract virtqueue coalescig cmd for reuse
  virtio-net: support rx netdim
  virtio-net: support tx netdim

 drivers/net/virtio_net.c | 394 ++++++++++++++++++++++++++++++++-------
 1 file changed, 322 insertions(+), 72 deletions(-)

-- 
2.19.1.6.gb485710b




Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds