1. 30 12月, 2008 1 次提交
    • B
      [SCSI] ibmvscsi: Don't fail EH due to insufficient resources · 21465eda
      Brian King 提交于
      The ibmvscsi driver currently has a bug in it which can result
      in it using up all its event structs for commands. If something
      results in all those commands timing out, we won't have any resources
      left to send aborts or resets. This results in escalating to a host reset
      in order to recover, which is a bit heavy handed. This fixes it
      by reducing can_queue by two in order to have resources to do EH.
      It also changes the max_requests module parameter so that it is not
      writable at runtime, since the code really does not handle it changing
      at runtime.
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      21465eda
  2. 02 12月, 2008 1 次提交
  3. 09 10月, 2008 1 次提交
  4. 16 8月, 2008 1 次提交
  5. 27 7月, 2008 1 次提交
    • F
      dma-mapping: add the device argument to dma_mapping_error() · 8d8bb39b
      FUJITA Tomonori 提交于
      Add per-device dma_mapping_ops support for CONFIG_X86_64 as POWER
      architecture does:
      
      This enables us to cleanly fix the Calgary IOMMU issue that some devices
      are not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).
      
      I think that per-device dma_mapping_ops support would be also helpful for
      KVM people to support PCI passthrough but Andi thinks that this makes it
      difficult to support the PCI passthrough (see the above thread).  So I
      CC'ed this to KVM camp.  Comments are appreciated.
      
      A pointer to dma_mapping_ops to struct dev_archdata is added.  If the
      pointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it's
      NULL, the system-wide dma_ops pointer is used as before.
      
      If it's useful for KVM people, I plan to implement a mechanism to register
      a hook called when a new pci (or dma capable) device is created (it works
      with hot plugging).  It enables IOMMUs to set up an appropriate
      dma_mapping_ops per device.
      
      The major obstacle is that dma_mapping_error doesn't take a pointer to the
      device unlike other DMA operations.  So x86 can't have dma_mapping_ops per
      device.  Note all the POWER IOMMUs use the same dma_mapping_error function
      so this is not a problem for POWER but x86 IOMMUs use different
      dma_mapping_error functions.
      
      The first patch adds the device argument to dma_mapping_error.  The patch
      is trivial but large since it touches lots of drivers and dma-mapping.h in
      all the architecture.
      
      This patch:
      
      dma_mapping_error() doesn't take a pointer to the device unlike other DMA
      operations.  So we can't have dma_mapping_ops per device.
      
      Note that POWER already has dma_mapping_ops per device but all the POWER
      IOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device
      argument.
      
      [akpm@linux-foundation.org: fix sge]
      [akpm@linux-foundation.org: fix svc_rdma]
      [akpm@linux-foundation.org: build fix]
      [akpm@linux-foundation.org: fix bnx2x]
      [akpm@linux-foundation.org: fix s2io]
      [akpm@linux-foundation.org: fix pasemi_mac]
      [akpm@linux-foundation.org: fix sdhci]
      [akpm@linux-foundation.org: build fix]
      [akpm@linux-foundation.org: fix sparc]
      [akpm@linux-foundation.org: fix ibmvscsi]
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: Muli Ben-Yehuda <muli@il.ibm.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Avi Kivity <avi@qumranet.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8d8bb39b
  6. 25 7月, 2008 1 次提交
  7. 28 5月, 2008 1 次提交
  8. 02 5月, 2008 1 次提交
    • B
      [SCSI] Let scsi_cmnd->cmnd use request->cmd buffer · 64a87b24
      Boaz Harrosh 提交于
       - struct scsi_cmnd had a 16 bytes command buffer of its own.
         This is an unnecessary duplication and copy of request's
         cmd. It is probably left overs from the time that scsi_cmnd
         could function without a request attached. So clean that up.
      
       - Once above is done, few places, apart from scsi-ml, needed
         adjustments due to changing the data type of scsi_cmnd->cmnd.
      
       - Lots of drivers still use MAX_COMMAND_SIZE. So I have left
         that #define but equate it to BLK_MAX_CDB. The way I see it
         and is reflected in the patch below is.
         MAX_COMMAND_SIZE - means: The longest fixed-length (*) SCSI CDB
                            as per the SCSI standard and is not related
                            to the implementation.
         BLK_MAX_CDB.     - The allocated space at the request level
      
       - I have audit all ISA drivers and made sure none use ->cmnd in a DMA
         Operation. Same audit was done by Andi Kleen.
      
      (*)fixed-length here means commands that their size can be determined
         by their opcode and the CDB does not carry a length specifier, (unlike
         the VARIABLE_LENGTH_CMD(0x7f) command). This is actually not exactly
         true and the SCSI standard also defines extended commands and
         vendor specific commands that can be bigger than 16 bytes. The kernel
         will support these using the same infrastructure used for VARLEN CDB's.
         So in effect MAX_COMMAND_SIZE means the maximum size command
         scsi-ml supports without specifying a cmd_len by ULD's
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      64a87b24
  9. 30 4月, 2008 1 次提交
  10. 20 4月, 2008 1 次提交
  11. 31 1月, 2008 1 次提交
    • J
      [SCSI] remove use_sg_chaining · d3f46f39
      James Bottomley 提交于
      With the sg table code, every SCSI driver is now either chain capable
      or broken (or has sg_tablesize set so chaining is never activated), so
      there's no need to have a check in the host template.
      
      Also tidy up the code by moving the scatterlist size defines into the
      SCSI includes and permit the last entry of the scatterlist pools not
      to be a power of two.
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      d3f46f39
  12. 12 1月, 2008 2 次提交
  13. 04 11月, 2007 1 次提交
    • R
      [SCSI] ibmvscsi: Prevent IO during partner login · 3c887e8a
      Robert Jennings 提交于
      By setting the request_limit in send_srp_login to 1 we allowed login
      requests to be sent to the server adapter.  If this was not an initial
      login, but was a login after a disconnect with the server, other I/O
      requests could attempt to be processed before the login occured.  These
      I/O requests would fail, sometimes resulting in filesystems getting
      marked read-only.
      
      To address this we can set the request_limit to 0 while doing the login
      and add an exception where login requests, along with task management
      events, are always passed to the server.
      
      There is a case where the request_limit had already reached 0 would result
      in all events being sent rather than returning SCSI_MLQUEUE_HOST_BUSY; this
      has also been fixed by this patch.
      Signed-off-by: NRobert Jennings <rcj@linux.vnet.ibm.com>
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      3c887e8a
  14. 16 10月, 2007 1 次提交
  15. 13 10月, 2007 3 次提交
  16. 31 7月, 2007 2 次提交
  17. 15 7月, 2007 1 次提交
  18. 26 6月, 2007 1 次提交
  19. 18 6月, 2007 5 次提交
  20. 30 5月, 2007 1 次提交
  21. 01 4月, 2007 2 次提交
  22. 26 10月, 2006 1 次提交
  23. 26 6月, 2006 1 次提交
  24. 28 4月, 2006 1 次提交
  25. 15 4月, 2006 1 次提交
  26. 13 4月, 2006 2 次提交
  27. 26 1月, 2006 1 次提交
  28. 24 10月, 2005 2 次提交
  29. 13 9月, 2005 1 次提交