1. 30 Aug, 2017 1 commit
    • Roland Dreier's avatar
      nvme-fabrics: Convert nvmf_transports_mutex to an rwsem · 489beb91
      Roland Dreier authored
      The mutex protects against the list of transports changing while a
      controller is being created, but using a plain old mutex means that it
      also serializes controller creation.  This unnecessarily slows down
      creating multiple controllers - for example for the RDMA transport,
      creating a controller involves establishing one connection for every IO
      queue, which involves even more network/software round trips, so the
      delay can become significant.
      
      The simplest way to fix this is to change the mutex to an rwsem and only
      hold it for writing when the list is being mutated.  Since we can take
      the rwsem for reading while creating a controller, we can create multiple
      controllers in parallel.
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      489beb91
  2. 29 Aug, 2017 6 commits
  3. 28 Aug, 2017 33 commits