Message ID | 20221013151839.689700-11-andrey.zhadchenko@virtuozzo.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vhost-blk: in-kernel accelerator for virtio-blk guests | expand |
diff --git a/drivers/vhost/blk.c b/drivers/vhost/blk.c index 42acdef452b3..f7db891ee985 100644 --- a/drivers/vhost/blk.c +++ b/drivers/vhost/blk.c @@ -161,13 +161,12 @@ static inline int vhost_blk_set_status(struct vhost_blk_req *req, u8 status) static void vhost_blk_req_done(struct bio *bio) { struct vhost_blk_req *req = bio->bi_private; - struct vhost_blk *blk = req->blk; req->bio_err = blk_status_to_errno(bio->bi_status); if (atomic_dec_and_test(&req->bio_nr)) { llist_add(&req->llnode, &req->blk_vq->llhead); - vhost_work_queue(&blk->dev, &req->blk_vq->work); + vhost_work_vqueue(&req->blk_vq->vq, &req->blk_vq->work); } bio_put(bio);
Update vhost_blk to queue works on virtqueue workers. Together with previous changes this allows us to split virtio blk requests across several threads. | randread, IOPS | randwrite, IOPS | 8vcpu, 1 kernel worker | 576k | 575k | 8vcpu, 2 kernel workers | 803k | 779k | Signed-off-by: Andrey Zhadchenko <andrey.zhadchenko@virtuozzo.com> --- drivers/vhost/blk.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)