[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <jjewa7jiltjnoauat3nnaeezhtcwi6k4xf5mkllykcqw4gyfgi@glwzqxp5r76q>
Date: Mon, 17 Jun 2024 15:24:56 +0200
From: Matias Ezequiel Vara Larsen <mvaralar@...hat.com>
To: Luigi Leonardi <luigi.leonardi@...look.com>
Cc: sgarzare@...hat.com, edumazet@...gle.com,
virtualization@...ts.linux.dev, netdev@...r.kernel.org, kuba@...nel.org, kvm@...r.kernel.org,
stefanha@...hat.com, pabeni@...hat.com, davem@...emloft.net,
Marco Pinna <marco.pinn95@...il.com>
Subject: Re: [PATCH net-next 2/2] vsock/virtio: avoid enqueue packets when
work queue is empty
Hello,
thanks for working on this! I have some minor thoughts.
On Fri, Jun 14, 2024 at 03:55:43PM +0200, Luigi Leonardi wrote:
> From: Marco Pinna <marco.pinn95@...il.com>
>
> This introduces an optimization in virtio_transport_send_pkt:
> when the work queue (send_pkt_queue) is empty the packet is
> put directly in the virtqueue reducing latency.
>
> In the following benchmark (pingpong mode) the host sends
> a payload to the guest and waits for the same payload back.
>
> Tool: Fio version 3.37-56
> Env: Phys host + L1 Guest
> Payload: 4k
> Runtime-per-test: 50s
> Mode: pingpong (h-g-h)
> Test runs: 50
> Type: SOCK_STREAM
>
> Before (Linux 6.8.11)
> ------
> mean(1st percentile): 722.45 ns
> mean(overall): 1686.23 ns
> mean(99th percentile): 35379.27 ns
>
> After
> ------
> mean(1st percentile): 602.62 ns
> mean(overall): 1248.83 ns
> mean(99th percentile): 17557.33 ns
>
I think It would be interesting to know what exactly the test does, and,
if the test is triggering the improvement, i.e., the better results are
due to enqueuing packets directly to the virtqueue instead of letting
the worker does it. If I understand correctly, this patch focuses on the
case in which the worker queue is empty. I think the test can always
send packets at a frequency so the worker queue is always empty, but
maybe, this is a corner case and most of the time the worker queue is
not empty in a non-testing environment.
Matias
Powered by blists - more mailing lists