[PATCH] fuse: cleanup request queuing towards virtiofs

2024-05-29 Thread Miklos Szeredi
Virtiofs has its own queing mechanism, but still requests are first queued on fiq->pending to be immediately dequeued and queued onto the virtio queue. The queuing on fiq->pending is unnecessary and might even have some performance impact due to being a contention point. Forget requests are handl

Re: [PATCH] fuse: cleanup request queuing towards virtiofs

2024-05-29 Thread Stefan Hajnoczi
On Wed, May 29, 2024 at 05:52:07PM +0200, Miklos Szeredi wrote: > Virtiofs has its own queing mechanism, but still requests are first queued > on fiq->pending to be immediately dequeued and queued onto the virtio > queue. > > The queuing on fiq->pending is unnecessary and might even have some > pe

Re: [PATCH] fuse: cleanup request queuing towards virtiofs

2024-05-29 Thread Jingbo Xu
On 5/29/24 11:52 PM, Miklos Szeredi wrote: > Virtiofs has its own queing mechanism, but still requests are first queued > on fiq->pending to be immediately dequeued and queued onto the virtio > queue. > > The queuing on fiq->pending is unnecessary and might even have some > performance impact d

Re: [PATCH] fuse: cleanup request queuing towards virtiofs

2024-05-30 Thread Miklos Szeredi
On Thu, 30 May 2024 at 05:20, Jingbo Xu wrote: > > + if (test_bit(FR_FINISHED, &req->flags)) { > > + list_del_init(&req->intr_entry); > > + spin_unlock(&fiq->lock ^ > missing "return" here? Well spotted. Thanks

Re: [PATCH] fuse: cleanup request queuing towards virtiofs

2024-05-30 Thread Miklos Szeredi
On Wed, 29 May 2024 at 20:32, Stefan Hajnoczi wrote: > This is a little scary but I can't think of a scenario where directly > dispatching requests to virtqueues is a problem. It would be scary if it was't a simple transformation: insert element on empty list, remove only element from list -> d

Re: [PATCH] fuse: cleanup request queuing towards virtiofs

2024-05-30 Thread Peter-Jan Gootzen
On Wed, 2024-05-29 at 14:32 -0400, Stefan Hajnoczi wrote: > On Wed, May 29, 2024 at 05:52:07PM +0200, Miklos Szeredi wrote: > > Virtiofs has its own queing mechanism, but still requests are first > > queued > > on fiq->pending to be immediately dequeued and queued onto the > > virtio > > queue. > >

Re: [PATCH] fuse: cleanup request queuing towards virtiofs

2024-05-30 Thread Jingbo Xu
On 5/30/24 5:00 PM, Miklos Szeredi wrote: > On Thu, 30 May 2024 at 05:20, Jingbo Xu wrote: > >>> + if (test_bit(FR_FINISHED, &req->flags)) { >>> + list_del_init(&req->intr_entry); >>> + spin_unlock(&fiq->lock ^ >>

Re: [PATCH] fuse: cleanup request queuing towards virtiofs

2024-05-30 Thread Bernd Schubert
On 5/30/24 11:00, Miklos Szeredi wrote: > On Thu, 30 May 2024 at 05:20, Jingbo Xu wrote: > >>> + if (test_bit(FR_FINISHED, &req->flags)) { >>> + list_del_init(&req->intr_entry); >>> + spin_unlock(&fiq->lock ^ >>

Re: [PATCH] fuse: cleanup request queuing towards virtiofs

2024-06-05 Thread Peter-Jan Gootzen
On Wed, 2024-05-29 at 14:32 -0400, Stefan Hajnoczi wrote: > On Wed, May 29, 2024 at 05:52:07PM +0200, Miklos Szeredi wrote: > > Virtiofs has its own queing mechanism, but still requests are first > > queued > > on fiq->pending to be immediately dequeued and queued onto the > > virtio > > queue. > >

Re: [PATCH] fuse: cleanup request queuing towards virtiofs

2024-06-05 Thread Stefan Hajnoczi
On Wed, Jun 05, 2024 at 10:40:44AM +, Peter-Jan Gootzen wrote: > On Wed, 2024-05-29 at 14:32 -0400, Stefan Hajnoczi wrote: > > On Wed, May 29, 2024 at 05:52:07PM +0200, Miklos Szeredi wrote: > > > Virtiofs has its own queing mechanism, but still requests are first > > > queued > > > on fiq->pen