Re: [PATCH 0/3] fuse: Solve request_find() bottleneck

From: Kirill Tkhai
Date: Mon Sep 24 2018 - 08:08:37 EST


2 weeks passed, so ping.

Miklos, any reaction on this?

Thanks,
Kirill

On 11.09.2018 13:11, Kirill Tkhai wrote:
> Hi,
>
> We noticed the performance bottle neck in FUSE running our
> Virtuozzo storage over rdma. On some types of workload
> we observe 20% of time spent in request_find() in profiler.
> This function is iterating over long list of requests, and it
> scales bad.
>
> The patch introduces hash table to reduce the number
> of iterations, we do in this function. Also, algorithm
> of generating IDs for interrupt requests is changed,
> simplified request_find() function and killed
> fuse_req::intr_unique field.
>
> Kirill
> ---
>
> Kirill Tkhai (3):
> fuse: Change interrupt requests allocation algorhythm
> fuse: Kill fuse_req::intr_unique
> fuse: Use hash table to link processing request
>
>
> fs/fuse/dev.c | 47 +++++++++++++++++++++++++++++++++++++----------
> fs/fuse/fuse_i.h | 11 +++++------
> fs/fuse/inode.c | 5 ++++-
> 3 files changed, 46 insertions(+), 17 deletions(-)
>
> --
> Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx>
>