mbox series

[0/5] smartpqi updates

Message ID 20240711194704.982400-1-don.brace@microchip.com
Headers show
Series smartpqi updates | expand

Message

Don Brace July 11, 2024, 7:46 p.m. UTC
These patches are based on Martin Petersen's 6.11/scsi-queue tree
  https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
  6.11/scsi-queue

The functional changes of note to smartpqi are for: multipath failover
and improving the accuracy of our RAID bypass counter.

For multipath we are:
    Reverting commit 94a68c814328 ("scsi: smartpqi: Quickly propagate path failures to SCSI midlayer")
    because under certain rare conditions involving encryption-enabled devices,
    a false path failure is reported to the SML causing multipath to failover
    to the other path.

    Improving errors returned from the driver back to the SML by checking for
    error codes returned from the firmware and returning the correct ASC/ASCQ codes
    to the SML. 

The other two patches add PCI-IDs for new controllers and change the
driver version.

This set of changes consists of:
* smartpqi-add-new-controller-PCI-IDs
  No functional changes. Just adding in more device support.
* smartpqi-improve-accuracy-of-RAID-bypass-counter
  We changed from using a integer variable to a __percpu variable. Using an integer
  was causing some race conditions when updating the "raid_bypass_cnt" value. This
  lead to unreliable results.
  Found by internal testing. No known externally reported bugs.
* smartpqi-revert-propagate-the-multipath-failure-to-SML-quickly
  We are reverting commit 94a68c814328
  ("scsi: smartpqi: Quickly propagate path failures to SCSI midlayer")
  because when encryption is enabled, a false path failure was being reported to the SML
  causing multipath to fail the path. This was because when encryption is enabled,
  the controller temporarily disables our Accelerated I/O path which caused the
  false path disabled detection. Disabling the accelerated I/O path can cause
  some performance degradation.
  Found by internal testing. No known externally reported bugs.
* smartpqi-improve-handling-of-multipath-failover
  We are better aligning error codes retuned by our controller firmware with what the OS
  is expecting. This improves multipath failover detection.
  Found by internal testing. No known externally reported bugs.
* smartpqi-update-version-to-2.1.28-025
  No functional changes.

---


David Strahan (1):
  smartpqi: add new controller PCI IDs

Don Brace (1):
  smartpqi: update driver version to 2.1.28-025

Gilbert Wu (1):
  smartpqi: revert propagate-the-multipath-failure-to-SML-quickly

Kevin Barnett (2):
  smartpqi: improve accuracy/performance of raid-bypass-counter.
  smartpqi: fix improve handling of multipath failover

 drivers/scsi/smartpqi/smartpqi.h      |   2 +-
 drivers/scsi/smartpqi/smartpqi_init.c | 176 ++++++++++++++++++++++----
 2 files changed, 151 insertions(+), 27 deletions(-)

Comments

Martin K. Petersen Aug. 3, 2024, 2:12 a.m. UTC | #1
Don,

> The functional changes of note to smartpqi are for: multipath failover
> and improving the accuracy of our RAID bypass counter.

Applied to 6.12/scsi-staging, thanks!
Martin K. Petersen Aug. 5, 2024, 9:17 p.m. UTC | #2
On Thu, 11 Jul 2024 14:46:59 -0500, Don Brace wrote:

> These patches are based on Martin Petersen's 6.11/scsi-queue tree
>   https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
>   6.11/scsi-queue
> 
> The functional changes of note to smartpqi are for: multipath failover
> and improving the accuracy of our RAID bypass counter.
> 
> [...]

Applied to 6.12/scsi-queue, thanks!

[1/5] smartpqi: add new controller PCI IDs
      https://git.kernel.org/mkp/scsi/c/0e21e73384d3
[2/5] smartpqi: improve accuracy/performance of raid-bypass-counter.
      https://git.kernel.org/mkp/scsi/c/bb0f5445b27f
[3/5] smartpqi: revert propagate-the-multipath-failure-to-SML-quickly
      https://git.kernel.org/mkp/scsi/c/f1393d52e6cd
[4/5] smartpqi: fix improve handling of multipath failover
      https://git.kernel.org/mkp/scsi/c/57abab70a5e0
[5/5] smartpqi: update driver version to 2.1.28-025
      https://git.kernel.org/mkp/scsi/c/5b4ded3f35d5