mbox series

[0/6] fuse: Interrupt-related optimizations and improvements

Message ID 154149586524.17764.5252013294539109287.stgit@localhost.localdomain (mailing list archive)
Headers show
Series fuse: Interrupt-related optimizations and improvements | expand

Message

Kirill Tkhai Nov. 6, 2018, 9:30 a.m. UTC
This patchset consists of several parts. Patches [1-2] optimize
likely case of request_end(), and make this function to take
fiq->waitq.lock only, when it is really needed. This improves
performance of this function completes.

Patch 3 makes request_end() to call wake_up() only for not
background requests (background requests never wait answer),
and this optimizes this function a bit more

Patches [4-6] makes code to check userspace requests correct
interrupt id to requeue (whether we've sent this interrupt).

---

Kirill Tkhai (6):
      fuse: Kill fasync only if interrupt is queued in queue_interrupt()
      fuse: Optimize request_end() by not taking fiq->waitq.lock
      fuse: Wake up req->waitq of only not background requests in request_end()
      fuse: Check for FR_SENT bit in fuse_dev_do_write()
      fuse: Do some refactoring in fuse_dev_do_write()
      fuse: Verify userspace asks to requeue interrupt that we really sent


 fs/fuse/dev.c |   73 +++++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 53 insertions(+), 20 deletions(-)

--
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>