Message ID | 154166765576.10655.15178401490817622677.stgit@localhost.localdomain (mailing list archive) |
---|---|
Headers | show |
Series | fuse: Interrupt-related optimizations and improvements | expand |
ping On 08.11.2018 12:05, Kirill Tkhai wrote: > 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> >
On Wed, Dec 26, 2018 at 2:25 PM Kirill Tkhai <ktkhai@virtuozzo.com> wrote: > > ping > > On 08.11.2018 12:05, Kirill Tkhai wrote: > > 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). Pushed to fuse.git#for-next. Thanks, Miklos
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>