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@xxxxxxxxxxxxx> >