Messages in this thread | | | Subject | [PATCH v2 0/5] fuse: Interrupt-related optimizations and improvements | From | Kirill Tkhai <> | Date | Thu, 08 Nov 2018 12:05:14 +0300 |
| |
v2: Changes in [1-2,5] patches. The biggest change is in [5], where repeater FR_INTERRUPTED assignment is removed.
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-5] makes code to check userspace requests correct interrupt id to requeue (whether we've sent this interrupt).
---
Kirill Tkhai (5): 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: Do some refactoring in fuse_dev_do_write() fuse: Verify userspace asks to requeue interrupt that we really sent
fs/fuse/dev.c | 57 ++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 19 deletions(-)
-- Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
| |