• Linus Torvalds's avatar
    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · a7ba4bf5
    Linus Torvalds authored
    Pull fuse updates from Miklos Szeredi:
     "This is the start of improving fuse scalability.
    
      An input queue and a processing queue is split out from the monolithic
      fuse connection, each of those having their own spinlock.  The end of
      the patchset adds the ability to clone a fuse connection.  This means,
      that instead of having to read/write requests/answers on a single fuse
      device fd, the fuse daemon can have multiple distinct file descriptors
      open.  Each of those can be used to receive requests and send answers,
      currently the only constraint is that a request must be answered on
      the same fd as it was read from.
    
      This can be extended further to allow binding a device clone to a
      specific CPU or NUMA node.
    
      Based on a patchset by Srinivas Eeda and Ashish Samant.  Thanks to
      Ashish for the review of this series"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (40 commits)
      fuse: update MAINTAINERS entry
      fuse: separate pqueue for clones
      fuse: introduce per-instance fuse_dev structure
      fuse: device fd clone
      fuse: abort: no fc->lock needed for request ending
      fuse: no fc->lock for pqueue parts
      fuse: no fc->lock in request_end()
      fuse: cleanup request_end()
      fuse: request_end(): do once
      fuse: add req flag for private list
      fuse: pqueue locking
      fuse: abort: group pqueue accesses
      fuse: cleanup fuse_dev_do_read()
      fuse: move list_del_init() from request_end() into callers
      fuse: duplicate ->connected in pqueue
      fuse: separate out processing queue
      fuse: simplify request_wait()
      fuse: no fc->lock for iqueue parts
      fuse: allow interrupt queuing without fc->lock
      fuse: iqueue locking
      ...
    a7ba4bf5
file.c 73.3 KB