From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
"Liu, Yujie" <yujie.liu@intel.com>,
Jesper Dangaard Brouer <hawk@kernel.org>,
netdev@vger.kernel.org, John Fastabend <john.fastabend@gmail.com>,
Alexei Starovoitov <ast@kernel.org>,
virtualization@lists.linux-foundation.org,
Eric Dumazet <edumazet@google.com>,
Heng Qi <hengqi@linux.alibaba.com>,
Simon Horman <horms@kernel.org>, Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH net-next 0/5] virtio-net: support dynamic coalescing moderation
Date: Wed, 25 Oct 2023 01:53:39 -0400 [thread overview]
Message-ID: <20231025015243-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CACGkMEseRoUBHOJ2CgPqVe=HNkAJqdj+Sh3pWsRaPCvcjwD9Gw@mail.gmail.com>
On Wed, Oct 25, 2023 at 09:18:27AM +0800, Jason Wang wrote:
> On Tue, Oct 24, 2023 at 8:03 PM Heng Qi <hengqi@linux.alibaba.com> wrote:
> >
> >
> >
> > 在 2023/10/12 下午4:29, Jason Wang 写道:
> > > On Thu, Oct 12, 2023 at 3:44 PM Heng Qi <hengqi@linux.alibaba.com> wrote:
> > >> 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.
> > > Do you have PPS numbers? And TX numbers are also important as the
> > > throughput could be misleading due to various reasons.
> >
> > Hi Jason!
> >
> > The comparison of rx netdim performance is as follows:
> > (the backend supporting tx dim is not yet ready)
>
> Thanks a lot for the numbers.
>
> I'd still expect the TX result as I did play tx interrupt coalescing
> about 10 years ago.
>
> I will start to review the series but let's try to have some TX numbers as well.
>
> Btw, it would be more convenient to have a raw PPS benchmark. E.g you
> can try to use a software or hardware packet generator.
>
> Thanks
Latency results are also kind of interesting.
> >
> >
> > I. Sockperf UDP
> > =================================================
> > 1. Env
> > rxq_0 is 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 is 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 is 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
> > =================================================
> >
> > Thanks!
> >
> > >
> > > Thanks
> > >
> > >> @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@linux.alibaba.com/
> > >> [2] https://lore.kernel.org/all/cover.1696745452.git.hengqi@linux.alibaba.com/
> > >>
> > >> 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
> > >>
> > >>
> >
> >
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: Heng Qi <hengqi@linux.alibaba.com>,
netdev@vger.kernel.org,
virtualization@lists.linux-foundation.org,
Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
Eric Dumazet <edumazet@google.com>,
"David S. Miller" <davem@davemloft.net>,
Paolo Abeni <pabeni@redhat.com>,
Jesper Dangaard Brouer <hawk@kernel.org>,
John Fastabend <john.fastabend@gmail.com>,
Alexei Starovoitov <ast@kernel.org>,
Jakub Kicinski <kuba@kernel.org>, Simon Horman <horms@kernel.org>,
"Liu, Yujie" <yujie.liu@intel.com>
Subject: Re: [PATCH net-next 0/5] virtio-net: support dynamic coalescing moderation
Date: Wed, 25 Oct 2023 01:53:39 -0400 [thread overview]
Message-ID: <20231025015243-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CACGkMEseRoUBHOJ2CgPqVe=HNkAJqdj+Sh3pWsRaPCvcjwD9Gw@mail.gmail.com>
On Wed, Oct 25, 2023 at 09:18:27AM +0800, Jason Wang wrote:
> On Tue, Oct 24, 2023 at 8:03 PM Heng Qi <hengqi@linux.alibaba.com> wrote:
> >
> >
> >
> > 在 2023/10/12 下午4:29, Jason Wang 写道:
> > > On Thu, Oct 12, 2023 at 3:44 PM Heng Qi <hengqi@linux.alibaba.com> wrote:
> > >> 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.
> > > Do you have PPS numbers? And TX numbers are also important as the
> > > throughput could be misleading due to various reasons.
> >
> > Hi Jason!
> >
> > The comparison of rx netdim performance is as follows:
> > (the backend supporting tx dim is not yet ready)
>
> Thanks a lot for the numbers.
>
> I'd still expect the TX result as I did play tx interrupt coalescing
> about 10 years ago.
>
> I will start to review the series but let's try to have some TX numbers as well.
>
> Btw, it would be more convenient to have a raw PPS benchmark. E.g you
> can try to use a software or hardware packet generator.
>
> Thanks
Latency results are also kind of interesting.
> >
> >
> > I. Sockperf UDP
> > =================================================
> > 1. Env
> > rxq_0 is 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 is 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 is 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
> > =================================================
> >
> > Thanks!
> >
> > >
> > > Thanks
> > >
> > >> @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@linux.alibaba.com/
> > >> [2] https://lore.kernel.org/all/cover.1696745452.git.hengqi@linux.alibaba.com/
> > >>
> > >> 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
> > >>
> > >>
> >
> >
next prev parent reply other threads:[~2023-10-25 5:53 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-12 7:44 [PATCH net-next 0/5] virtio-net: support dynamic coalescing moderation Heng Qi
2023-10-12 7:44 ` [PATCH net-next 1/5] virtio-net: returns whether napi is complete Heng Qi
2023-10-25 2:43 ` Jason Wang
2023-10-25 2:43 ` Jason Wang
2023-10-12 7:44 ` [PATCH net-next 2/5] virtio-net: separate rx/tx coalescing moderation cmds Heng Qi
2023-10-14 1:11 ` Jakub Kicinski
2023-10-16 7:45 ` Heng Qi
2023-10-16 7:51 ` Michael S. Tsirkin
2023-10-16 7:51 ` Michael S. Tsirkin
2023-10-12 7:44 ` [PATCH net-next 3/5] virtio-net: extract virtqueue coalescig cmd for reuse Heng Qi
2023-10-25 3:03 ` Jason Wang
2023-10-25 3:03 ` Jason Wang
2023-10-12 7:44 ` [PATCH net-next 4/5] virtio-net: support rx netdim Heng Qi
2023-10-25 3:34 ` Jason Wang
2023-10-25 3:34 ` Jason Wang
2023-11-01 10:55 ` Heng Qi
2023-11-02 4:31 ` Jason Wang
2023-11-02 4:31 ` Jason Wang
2023-11-02 4:46 ` Heng Qi
2023-10-12 7:44 ` [PATCH net-next 5/5] virtio-net: support tx netdim Heng Qi
2023-10-25 3:35 ` Jason Wang
2023-10-25 3:35 ` Jason Wang
2023-10-25 5:50 ` Michael S. Tsirkin
2023-10-25 5:50 ` Michael S. Tsirkin
2023-10-12 8:29 ` [PATCH net-next 0/5] virtio-net: support dynamic coalescing moderation Jason Wang
2023-10-12 8:29 ` Jason Wang
2023-10-13 1:53 ` Jason Wang
2023-10-13 1:53 ` Jason Wang
2023-10-16 7:35 ` Heng Qi
2023-10-24 12:02 ` Heng Qi
2023-10-25 1:18 ` Jason Wang
2023-10-25 1:18 ` Jason Wang
2023-10-25 5:53 ` Michael S. Tsirkin [this message]
2023-10-25 5:53 ` Michael S. Tsirkin
2023-11-01 11:03 ` Heng Qi
2023-11-02 4:33 ` Jason Wang
2023-11-02 4:33 ` Jason Wang
2023-11-02 4:47 ` Heng Qi
2023-11-01 9:38 ` Heng Qi
2023-11-02 4:34 ` Jason Wang
2023-11-02 4:34 ` Jason Wang
2023-11-02 4:51 ` Heng Qi
2023-11-02 4:53 ` Heng Qi
2023-10-25 5:49 ` Michael S. Tsirkin
2023-10-25 5:49 ` Michael S. Tsirkin
2023-11-01 9:40 ` Heng Qi
2023-11-01 10:44 ` Michael S. Tsirkin
2023-11-01 10:44 ` Michael S. Tsirkin
2023-11-01 10:57 ` Heng Qi
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=20231025015243-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=ast@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hawk@kernel.org \
--cc=hengqi@linux.alibaba.com \
--cc=horms@kernel.org \
--cc=jasowang@redhat.com \
--cc=john.fastabend@gmail.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=xuanzhuo@linux.alibaba.com \
--cc=yujie.liu@intel.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.