> -----Original Message----- > From: Suwan Kim <suwan.kim027@xxxxxxxxx> > Sent: Tuesday, April 5, 2022 10:09 AM > Subject: [PATCH v5 1/2] virtio-blk: support polling I/O > > diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c > @@ -81,6 +85,7 @@ struct virtio_blk { > > /* num of vqs */ > int num_vqs; > + int io_queues[HCTX_MAX_TYPES]; > struct virtio_blk_vq *vqs; ... > };> @@ -565,6 +572,18 @@ static int init_vq(struct virtio_blk *vblk) > min_not_zero(num_request_queues, nr_cpu_ids), > num_vqs); > > + num_poll_vqs = min_t(unsigned int, poll_queues, num_vqs - 1); > + > + memset(vblk->io_queues, 0, sizeof(int) * HCTX_MAX_TYPES); Using sizeof(vblk->io_queues) would automatically follow any changes in the definition of that field, similar to the line below: ... > vblk->vqs = kmalloc_array(num_vqs, sizeof(*vblk->vqs), GFP_KERNEL);