1. 11 1月, 2011 3 次提交
  2. 06 1月, 2011 2 次提交
  3. 23 10月, 2010 2 次提交
  4. 02 3月, 2010 1 次提交
  5. 15 7月, 2008 1 次提交
  6. 20 4月, 2008 2 次提交
  7. 05 2月, 2008 1 次提交
    • D
      IB/srp: Retry stale connections · 9fe4bcf4
      David Dillow 提交于
      When a host just goes away (crash, power loss, etc.) without tearing
      down its IB connections, it can get stale connection errors when it
      tries to reconnect to targets upon rebooting.  Retrying the connection
      a few times will prevent sysadmins from playing the "which disk(s)
      went missing?" game.
      
      This would have made things slightly quicker when tracking down some
      of the recent bugs, but it also helps quite a bit when you've got a
      large number of targets hanging off a wedged server.
      Signed-off-by: NDavid Dillow <dillowda@ornl.gov>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      9fe4bcf4
  8. 26 1月, 2008 1 次提交
    • D
      IB/srp: Respect target credit limit · 8cba2077
      David Dillow 提交于
      The current SRP initiator will send requests even if it has no credits
      available.  The results of sending extra requests are vendor specific,
      but on some devices, overrunning credits will cost 85% of peak
      performance -- e.g. 100 MB/s vs 720 MB/s.  Other devices may just drop
      the requests.
      
      This patch will tell the SCSI midlayer to queue requests if there are
      fewer than two credits remaining, and will not issue a task management
      request if there are no credits remaining.  The mid-layer will retry
      the queued command once an outstanding command completes.
      
      The patch also removes the unlikely() in __srp_get_tx_iu(), as it is
      not at all unlikely to hit this limit under heavy load.
      Signed-off-by: NDavid Dillow <dillowda@ornl.gov>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      8cba2077
  9. 07 6月, 2007 1 次提交
  10. 07 5月, 2007 1 次提交
  11. 05 2月, 2007 1 次提交
    • I
      IB/srp: Don't wait for response when QP is in error state. · 1033ff67
      Ishai Rabinovitz 提交于
      When there is a call to send_tsk_mgmt SRP posts a send and waits for 5
      seconds to get a response.
      
      When the QP is in the error state it is obvious that there will be no
      response so it is quite useless to wait.  In fact, the timeout causes
      SRP to wait a long time to reconnect when a QP error occurs. (Each
      abort and each reset_device calls send_tsk_mgmt, which waits for the
      timeout).  The following patch solves this problem by identifying the
      failure and returning an immediate error code.
      Signed-off-by: NIshai Rabinovitz <ishai@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1033ff67
  12. 16 12月, 2006 1 次提交
    • R
      IB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G · bf628dc2
      Roland Dreier 提交于
      struct srp_device.fmr_page_mask was unsigned long, which means that
      the top part of addresses above 4G was being chopped off on 32-bit
      architectures.  Of course nothing good happens when data from SRP
      targets is DMAed to the wrong place.
      
      Fix this by changing fmr_page_mask to u64, to match the addresses
      actually used by IB devices.
      
      Thanks to Brian Cain <Brian.Cain@ge.com> and David McMillen
      <davem@systemfabricworks.com> for help diagnosing the bug and testing
      the fix.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      bf628dc2
  13. 13 12月, 2006 1 次提交
  14. 11 10月, 2006 1 次提交
  15. 18 6月, 2006 5 次提交
    • R
      IB/srp: Support SRP rev. 10 targets · 0c0450db
      Ramachandra K 提交于
      There has been a change in the format of port identifiers between
      revision 10 of the SRP specification and the current revision 16A.
      
      Revision 10 specifies port identifier format as
      
        lower 8 bytes :  GUID   upper 8 bytes :  Extension
      
      Whereas revision 16A specifies it as 
      
       lower 8 bytes :  Extension  upper 8 bytes :  GUID
      
      There are older targets (e.g. SilverStorm Virtual Fibre Channel
      Bridge) which conform to revision 10 of the SRP specification.
      
      The I/O class of revision 10 is 0xFF00 and the I/O class of revision
      16A is 0x0100.
      
      For supporting older targets, this patch:
      
      1) Adds a new optional target creation parameter "io_class". Default
         value of io_class is 0x0100 (i.e. revision 16A)
      2) Uses the correct port identifier format for targets with IO class
         of 0xFF00 (i.e. conforming to revision 10)
      Signed-off-by: NRamachandra K <rkuchimanchi@silverstorm.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      0c0450db
    • R
      IB/srp: Get rid of "Target has req_lim 0" messages · 6bfa24fa
      Roland Dreier 提交于
      It's perfectly valid for a connection to an SRP target to have a
      request limit of 0, so get rid of the message about it, which can spam
      kernel logs even with printk_ratelimit().  Keep a count of such events
      in a "zero_req_lim" SCSI host attribute instead, so someone who cares
      can look at the statistics.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      6bfa24fa
    • V
      IB/srp: Allow sg_tablesize to be adjusted · 74b0a15b
      Vu Pham 提交于
      Make the sg_tablesize used by SRP adjustable at module load time via a
      module parameter.  Calculate the corresponding IU length required to
      support this.
      Signed-off-by: NVu Pham <vu@mellanox.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      74b0a15b
    • M
      IB/srp: Change target_mutex to a spinlock · b3589fd4
      Matthew Wilcox 提交于
      The SRP driver never sleeps while holding target_mutex, and it's just
      used to protect some simple list operations, so hold times will be
      short.  So just convert it to a spinlock, which is smaller and faster.
      Signed-off-by: NMatthew Wilcox <matthew@wil.cx>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      b3589fd4
    • R
      IB/srp: Use FMRs to map gather/scatter lists · f5358a17
      Roland Dreier 提交于
      Create an SRP FMR pool on HCAs that support FMRs, and use FMRs to map
      gather/scatter lists that have more than one entry into a single
      memory region that appears virtually contiguous to the SRP target
      (which is the RDMA initiator).
      
      This patch bails out on FMR mapping for SCSI commands where the
      gather/scatter list cannot be mapped into a single FMR because there
      are sub-page-sized entries in middle of the list.  An unaligned
      start or end of the list is OK.
      
      Based on a patch by Vu Pham <vuhuong@mellanox.com>.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      f5358a17
  16. 10 5月, 2006 1 次提交
  17. 25 3月, 2006 1 次提交
    • R
      IB/srp: Use a fake scatterlist for non-SG SCSI commands · cf368713
      Roland Dreier 提交于
      Since the SCSI midlayer is moving towards entirely getting rid of
      commands with use_sg == 0, we should treat this case as an exception.
      Therefore, change the IB SRP initiator to create a fake scatterlist
      for these commands with sg_init_one().  This simplifies the flow of
      DMA mapping and unmapping, since SRP can just use dma_map_sg() and
      dma_unmap_sg() unconditionally, rather than having to choose between
      the dma_{map,unmap}_sg() and dma_{map,unmap}_single() variants.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      cf368713
  18. 31 1月, 2006 1 次提交
  19. 12 11月, 2005 1 次提交
  20. 03 11月, 2005 1 次提交