1. 09 1月, 2015 1 次提交
  2. 24 11月, 2014 2 次提交
  3. 17 9月, 2014 4 次提交
    • S
      megaraid_sas : MFI MPT linked list corruption fix · 90dc9d98
      Sumit.Saxena@avagotech.com 提交于
      Resending the patch. Addressed the review comments from Tomas Henzl.
      Added comment for to-do work.
      
      Problem statement:
      MFI link list in megaraid_sas driver is used from mfi-mpt pass-through commands.
      This list can be corrupted due to many possible race conditions in driver and
      eventually we may see kernel panic.
      
      One example -
      MFI frame is freed from calling process as driver send command via polling method and interrupt
      for that command comes after driver free mfi frame (actually even after some other context reuse
      the mfi frame). When driver receive MPT frame in ISR, driver will be using the index of MFI and
      access that MFI frame and finally in-used MFI frame’s list will be corrupted.
      
      High level description of new solution -
      Free MFI and MPT command from same context.
      Free both the command either from process (from where mfi-mpt pass-through was called) or from
      ISR context. Do not split freeing of MFI and MPT, because it creates the race condition which
      will do MFI/MPT list corruption.
      
      Renamed the cmd_pool_lock which is used in instance as well as fusion with below name.
      mfi_pool_lock and mpt_pool_lock to add more code readability.
      Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com>
      Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com>
      Reviewed-by: NTomas Henzl <thenzl@redhat.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      90dc9d98
    • S
      megaraid_sas : N-drive primary raid level 1 load balancing · d2552ebe
      Sumit.Saxena@avagotech.com 提交于
      Resending the patch. Addressed the review comments from Tomas Henzl.
      
      Current driver does fast path read load balancing between arm and mirror disk
      for two Drive Raid-1 configuration only.
      
      Now, Driver support fast path read load balancing for all (any number of disk) Raid-1 configuration.
      Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com>
      Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com>
      Reviewed-by: NTomas Henzl <thenzl@redhat.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      d2552ebe
    • S
      megaraid_sas : Extended VD support · 51087a86
      Sumit.Saxena@avagotech.com 提交于
      Resending the patch. Addressed the review comments from Tomas Henzl.
      reserved1 field(part of union) of Raid map struct was not required so it is removed.
      
      Current MegaRAID firmware and hence the driver only supported 64VDs.
      E.g: If the user wants to create more than 64VD on a controller,
          it is not possible on current firmware/driver.
      
      New feature and requirement to support upto 256VD, firmware/driver/apps need changes.
      In addition to that there must be a backward compatibility of the new driver with the
      older firmware and vice versa.
      
      RAID map is the interface between Driver and FW to fetch all required
      fields(attributes) for each Virtual Drives.
      In the earlier design driver was using the FW copy of RAID map where as
      in the new design the Driver will keep the RAID map copy of its own; on which
      it will operate for any raid map access in fast path.
      
      Local driver raid map copy will provide ease of access through out the code
      and provide generic interface for future FW raid map changes.
      
      For the backward compatibility driver will notify FW that it supports 256VD
      to the FW in driver capability field.
      Based on the controller properly returned by the FW, the Driver will know
      whether it supports 256VD or not and will copy the RAID map accordingly.
      
      At any given time, driver will always have old or new Raid map.
      So with this changes, driver can also work in host lock less mode. Please
      see next patch which enable host lock less mode for megaraid_sas driver.
      Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com>
      Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com>
      Reviewed-by: NTomas Henzl <thenzl@redhat.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      51087a86
    • S
      megaraid_sas : Update threshold based reply post host index register · db4fc864
      Sumit.Saxena@avagotech.com 提交于
      Resending the patch. Addressed the review comments from Tomas Henzl.
      
      Current driver updates reply post host index to let firmware know that replies are processed,
      while returning from ISR function, only if there is no oustanding replies in reply queue.
      
      Driver will free the request frame immediately from ISR but reply post host index is not yet updated.
      It means freed request can be used by submission path and there may be a tight loop in request/reply
      path. In such condition, firmware may crash when it tries to post reply and there is no free
      reply post descriptor.
      
      Eventually two things needs to be change to avoid this issue.
      
      Increase reply queue depth (double than request queue) to accommodate worst case scenario.
      Update reply post host index to firmware once it reach to some pre-defined threshold value.
      
      This change will make sure that firmware will always have some buffer of reply descriptor and
      will never find empty reply descriptor in completion path.
      Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com>
      Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com>
      Reviewed-by: NTomas Henzl <thenzl@redhat.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      db4fc864
  4. 16 3月, 2014 1 次提交
  5. 11 9月, 2013 1 次提交
  6. 07 9月, 2013 1 次提交
  7. 20 8月, 2013 1 次提交
  8. 25 6月, 2013 2 次提交
    • S
      [SCSI] megaraid_sas: Add support for Uneven Span PRL11 · bc93d425
      Sumit.Saxena@lsi.com 提交于
      MegaRAID older Firmware does not support uneven span configuration for PRL11.
      E.g User wants to create 34 Driver PRL11 config, it was not possible using old
      firmware, since it was not supported configuration in old firmware
      
      Old Firmware expect even number of Drives in each span and same number of
      physical drives at each span.  Considering above design, 17 Drives at Span-0
      and 17 drives at span-1 was not possible.
      
      Now, using this new feature Firmware and Driver both required changes.  New
      Firmware can allow user to create 16 Drives at span-0 and 18 Drives at
      span-1. This will allow user to create 34 Drives Uneven span PRL11.
      
      RAID map is interface between Driver and FW to fetch all required
      fields(attributes) for each Virtual Drives.  Since legacy RAID map consider
      Even Span design, there was no place to keep Uneven span information in
      existing Raid map.  Because of this limitation, for Uneven span VD, driver can
      not use RAID map.
      
      This patch address the changes required in Driver to support Uneven span PRL11
      support.
      
      1. Driver will find if Firmware has UnevenSpanSupport or not by reading
         Controller Info.
      2. If Firmware has UnvenSpan PRL11 support, then Driver will inform about its
         capability of handling UnevenSpan PRL11 to the firmware.
      3. Driver will update its copy of span info on each time Raid map update is
         called.
      4. Follow different IO path if it is Uneven Span. (For Uneven Span, Driver
         uses Span Set info to find relavent fields for that particular Virtual
         Disk)
      
      More verbose prints will be available by setting "SPAN_DEBUG" to 1 at
      compilation time.
      Signed-off-by: NSumit Saxena <sumit.saxena@lsi.com>
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      bc93d425
    • S
      [SCSI] megaraid_sas: Add support for Extended MSI-x vectors for 12Gb/s controller · d46a3ad6
      Sumit.Saxena@lsi.com 提交于
      This Driver will use more than 8 MSI-x support provided by Invader/Fury max
      upto 128 MSI-x.
      
      [jejb: fix checkpatch warning]
      Signed-off-by: NSumit Saxena <sumit.saxena@lsi.com>
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      d46a3ad6
  9. 22 2月, 2013 1 次提交
  10. 09 10月, 2012 1 次提交
  11. 17 10月, 2011 2 次提交
  12. 23 12月, 2010 1 次提交