[PATCH 0/6] Extract bg queue logic out fuse_conn::lock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux