Re: [RFC v2 5/5] virtiofs: Disable notifications more aggresively
From: Eugenio Perez Martin
Date: Mon Feb 24 2025 - 01:45:05 EST
On Mon, Feb 24, 2025 at 3:01 AM Jason Wang <jasowang@xxxxxxxxxx> wrote:
>
> On Sat, Feb 22, 2025 at 1:07 AM Eugenio Pérez <eperezma@xxxxxxxxxx> wrote:
> >
> > 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
>
> Let's describe more about the testing. E.g FIO parameters, test setups.
>
> >
> > Signed-off-by: Eugenio Pérez <eperezma@xxxxxxxxxx>
> > ---
> > 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 */
>
> Typo, and I think we can just drop this commnet.
Agree.
>
> > + virtqueue_disable_cb(vq);
>
> Do we need to tweak the virtio_fs_requests_done_work() as well?
I don't think so, as virtqueue_disable_cb can be called multiple times
without consequences.
To control it in virtio_fs_requests_done_work imply to create a new
boolean somewhere and add a conditional there, redundant with the
conditional in virtio_fs_requests_done_work.