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>