Leon Romanovsky
2021-Sep-27 11:34 UTC
[PATCH 2/2] virtio-blk: set NUMA affinity for a tagset
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 at 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);I afraid that by doing it, you will increase chances to see OOM, because in NUMA_NO_NODE, MM will try allocate memory in whole system, while in the latter mode only on specific NUMA which can be depleted. Thanks> vblk->tag_set.flags = BLK_MQ_F_SHOULD_MERGE; > vblk->tag_set.cmd_size > sizeof(struct virtblk_req) + > -- > 2.18.1 >