All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heng Qi <hengqi@linux.alibaba.com>
To: virtualization@lists.linux-foundation.org, netdev@vger.kernel.org
Cc: jasowang@redhat.com, mst@redhat.com, kuba@kernel.org,
	edumazet@google.com, pabeni@redhat.com, davem@davemloft.net,
	hawk@kernel.org, john.fastabend@gmail.com, ast@kernel.org,
	horms@kernel.org, xuanzhuo@linux.alibaba.com,
	yinjun.zhang@corigine.com
Subject: [PATCH net-next v5 0/4] virtio-net: support dynamic coalescing moderation
Date: Mon, 27 Nov 2023 10:55:40 +0800	[thread overview]
Message-ID: <cover.1701050450.git.hengqi@linux.alibaba.com> (raw)

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

Due to some scheduling issues, we only support and test the rx dim.

Some test results:

I. Sockperf UDP
=================================================
1. Env
rxq_0 with affinity to cpu_0.

2. Cmd
client: taskset -c 0 sockperf tp -p 8989 -i $IP -t 10 -m 16B
server: taskset -c 0 sockperf sr -p 8989

3. Result
dim off: 1143277.00 rxpps, throughput 17.844 MBps, cpu is 100%.
dim on:  1124161.00 rxpps, throughput 17.610 MBps, cpu is 83.5%.
=================================================

II. Redis
=================================================
1. Env
There are 8 rxqs, and rxq_i with affinity to cpu_i.

2. Result
When all cpus are 100%, ops/sec of memtier_benchmark client is
dim off:  978437.23
dim on:  1143638.28
=================================================

III. Nginx
=================================================
1. Env
There are 8 rxqs and rxq_i with affinity to cpu_i.

2. Result
When all cpus are 100%, requests/sec of wrk client is
dim off:  877931.67
dim on:  1019160.31
=================================================

IV. Latency of sockperf udp
=================================================
1. Rx cmd
taskset -c 0 sockperf sr -p 8989

2. Tx cmd
taskset -c 0 sockperf pp -i ${ip} -p 8989 -t 10

After running this cmd 5 times and averaging the results,

3. Result
dim off: 17.7735 usec
dim on:  18.0110 usec
=================================================

Changelog:
v4->v5:
- Patch(4/4):
   - Fix possible synchronization issues with cancel_work_sync.
   - Reduce if/else nesting levels

v3->v4:
- Patch(5/5): drop.

v2->v3:
- Patch(4/5): some minor modifications.

v1->v2:
- Patch(2/5): a minor fix.
- Patch(4/5):
   - improve the judgment of dim switch conditions.
   - Cancel the work when vq reset. 
- Patch(5/5): drop the tx dim implementation.

Heng Qi (4):
  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

 drivers/net/virtio_net.c | 287 +++++++++++++++++++++++++++++++++------
 1 file changed, 242 insertions(+), 45 deletions(-)

-- 
2.19.1.6.gb485710b


             reply	other threads:[~2023-11-27  2:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-27  2:55 Heng Qi [this message]
2023-11-27  2:55 ` [PATCH net-next v5 1/4] virtio-net: returns whether napi is complete Heng Qi
2023-11-27  2:55 ` [PATCH net-next v5 2/4] virtio-net: separate rx/tx coalescing moderation cmds Heng Qi
2023-11-27  2:55 ` [PATCH net-next v5 3/4] virtio-net: extract virtqueue coalescig cmd for reuse Heng Qi
2023-11-27  2:55 ` [PATCH net-next v5 4/4] virtio-net: support rx netdim Heng Qi
2023-11-30  9:33   ` Paolo Abeni
2023-11-30 12:09     ` Heng Qi
2023-11-30 12:23       ` Paolo Abeni
2023-11-30 12:42         ` Heng Qi
2023-12-01  2:11           ` Yinjun Zhang

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=cover.1701050450.git.hengqi@linux.alibaba.com \
    --to=hengqi@linux.alibaba.com \
    --cc=ast@kernel.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hawk@kernel.org \
    --cc=horms@kernel.org \
    --cc=jasowang@redhat.com \
    --cc=john.fastabend@gmail.com \
    --cc=kuba@kernel.org \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xuanzhuo@linux.alibaba.com \
    --cc=yinjun.zhang@corigine.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.