Messages in this thread | | | Subject | Re: [PATCH 0/3] fuse: Solve request_find() bottleneck | From | Kirill Tkhai <> | Date | Mon, 24 Sep 2018 15:08:16 +0300 |
| |
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@virtuozzo.com> >
| |