From: Stefan Hajnoczi <stefanha@redhat.com>
To: Max Gurtovoy <mgurtovoy@nvidia.com>
Cc: mst@redhat.com, virtualization@lists.linux-foundation.org,
kvm@vger.kernel.org, oren@nvidia.com, nitzanc@nvidia.com,
israelr@nvidia.com, hch@infradead.org,
linux-block@vger.kernel.org, axboe@kernel.dk
Subject: Re: [PATCH 2/2] virtio-blk: set NUMA affinity for a tagset
Date: Mon, 27 Sep 2021 10:09:40 +0200 [thread overview]
Message-ID: <YVF8RBZSaJs9BScd@stefanha-x1.localdomain> (raw)
In-Reply-To: <20210926145518.64164-2-mgurtovoy@nvidia.com>
[-- Attachment #1: Type: text/plain, Size: 1479 bytes --]
On Sun, Sep 26, 2021 at 05:55:18PM +0300, Max Gurtovoy wrote:
> To optimize performance, set the affinity of the block device tagset
> according to the virtio device affinity.
>
> Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com>
> ---
> drivers/block/virtio_blk.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index 9b3bd083b411..1c68c3e0ebf9 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -774,7 +774,7 @@ static int virtblk_probe(struct virtio_device *vdev)
> memset(&vblk->tag_set, 0, sizeof(vblk->tag_set));
> vblk->tag_set.ops = &virtio_mq_ops;
> vblk->tag_set.queue_depth = queue_depth;
> - vblk->tag_set.numa_node = NUMA_NO_NODE;
> + vblk->tag_set.numa_node = virtio_dev_to_node(vdev);
> vblk->tag_set.flags = BLK_MQ_F_SHOULD_MERGE;
> vblk->tag_set.cmd_size =
> sizeof(struct virtblk_req) +
I implemented NUMA affinity in the past and could not demonstrate a
performance improvement:
https://lists.linuxfoundation.org/pipermail/virtualization/2020-June/048248.html
The pathological case is when a guest with vNUMA has the virtio-blk-pci
device on the "wrong" host NUMA node. Then memory accesses should cross
NUMA nodes. Still, it didn't seem to matter.
Please share your benchmark results. If you haven't collected data yet
you could even combine our patches to see if it helps. Thanks!
Stefan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2021-09-27 8:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-26 14:55 [PATCH 1/2] virtio: introduce virtio_dev_to_node helper Max Gurtovoy
2021-09-26 14:55 ` [PATCH 2/2] virtio-blk: set NUMA affinity for a tagset Max Gurtovoy
2021-09-27 8:09 ` Stefan Hajnoczi [this message]
2021-09-27 17:39 ` Max Gurtovoy
2021-09-28 6:47 ` Stefan Hajnoczi
2021-09-29 15:07 ` Max Gurtovoy
2021-09-30 13:16 ` Stefan Hajnoczi
2021-09-30 13:24 ` Max Gurtovoy
2021-09-27 11:34 ` Leon Romanovsky
2021-09-27 17:25 ` Max Gurtovoy
2021-09-27 18:23 ` Leon Romanovsky
2021-09-28 15:59 ` Max Gurtovoy
2021-09-28 16:27 ` Leon Romanovsky
2021-09-28 23:28 ` Max Gurtovoy
2021-09-29 6:50 ` Leon Romanovsky
2021-09-29 9:48 ` Max Gurtovoy
2021-09-27 8:02 ` [PATCH 1/2] virtio: introduce virtio_dev_to_node helper Stefan Hajnoczi
2021-09-27 9:31 ` Michael S. Tsirkin
2021-09-28 16:14 ` Max Gurtovoy
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=YVF8RBZSaJs9BScd@stefanha-x1.localdomain \
--to=stefanha@redhat.com \
--cc=axboe@kernel.dk \
--cc=hch@infradead.org \
--cc=israelr@nvidia.com \
--cc=kvm@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=mgurtovoy@nvidia.com \
--cc=mst@redhat.com \
--cc=nitzanc@nvidia.com \
--cc=oren@nvidia.com \
--cc=virtualization@lists.linux-foundation.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox