Disable notifications right before scheduling, instead of waiting until
the work is running.

After applying this patch, fio read test goes from 1191MiB/s to
1263.14Mib/s

Signed-off-by: Eugenio Pérez <epere...@redhat.com>
---
 fs/fuse/virtio_fs.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c
index e19c78f2480e..3d6981c0f3c3 100644
--- a/fs/fuse/virtio_fs.c
+++ b/fs/fuse/virtio_fs.c
@@ -915,6 +915,8 @@ static void virtio_fs_vq_done(struct virtqueue *vq)
 
        dev_dbg(&vq->vdev->dev, "%s %s\n", __func__, fsvq->name);
 
+       /* Shceduled, don't send more notifications */
+       virtqueue_disable_cb(vq);
        schedule_work(&fsvq->done_work);
 }
 
-- 
2.48.1


Reply via email to