Hi, Miklos, Have you seen this? Some reaction on this? Thanks, Kirill On 8/27/18 6:29 PM, Kirill Tkhai wrote: > Hi, Miklos, > > the patchset makes background queue and background-related > data be protected with new bg_lock. This allows async reads > not take fc->lock in fuse_request_send_background(), and > this gives performace-visible increase on out async read-write > test (1.7-5 % better). See [6/6] for the test results. > > The new lock protects max_background, congestion_threshold, > num_background, active_background, bg_queue and blocked > fields. See [5/6] for the details. > > Patches [1-3/6] are preparations. I've already sent you > two of them, and you said at least one is already applied, > but since they are yet no in linux-next, I add them to make > kbuild test robot happy. > > [4/6] is a fix of existing issue. I don't know whether > stable needs this fix, so I don't send it in separate. Please, > say if it's needed resend it in this way. > > The test results is for our proprietary vstorage fuse driver. > Feel free to ask me, in case of you want the patchset to be > tested on some other fuse driver and with some other test. > > Thanks, > Kirill > --- > > Kirill Tkhai (6): > fuse: Use list_first_entry() in flush_bg_queue() > fuse: Move clear_bit() up in request_end() > fuse: Underline congestion_threshold and max_background may be read w/o fc->lock > fuse: Lock fc->lock during changing num_background and congestion_threshold > fs: Introduce fuse_conn::bg_lock > fuse: Do not take fuse_conn::lock on fuse_request_send_background() > > > fs/fuse/control.c | 34 ++++++++++++++++++++++++++-------- > fs/fuse/dev.c | 42 +++++++++++++++++++++++++++--------------- > fs/fuse/file.c | 2 +- > fs/fuse/fuse_i.h | 11 +++++++++-- > fs/fuse/inode.c | 4 ++++ > 5 files changed, 67 insertions(+), 26 deletions(-) > > -- > Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> >