Bugzilla – Bug 1211732
smartpqi - patches for ALP
Last modified: 2024-06-25 17:40:57 UTC
Add latest smartpqi patches from Martin Petersen's 6.5/scsi-queue https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git 6.5/scsi-queue https://github.com/SUSE/kernel.git ALP-current fcb405111a24 scsi: smartpqi: Update version to 2.1.22-040 49fd52d4991f scsi: smartpqi: Update copyright to 2023 d2c7583f27cc scsi: smartpqi: Add sysfs entry for NUMA node in /sys/block/sdX/device 2eddf98d0152 scsi: smartpqi: Stop sending driver-initiated TURs c23efd9eadd8 scsi: smartpqi: Fix byte aligned writew for ARM servers 68f7920492be scsi: smartpqi: Add support for RAID NCQ priority 5c9e3c1c5276 scsi: smartpqi: Validate block layer host tag 80d560d94fa9 scsi: smartpqi: Remove contention for raid_bypass_cnt 2312e844dc8d scsi: smartpqi: Fix rare SAS transport memory leak 889cda36db99 scsi: smartpqi: Remove NULL pointer check fe0375d48513 scsi: smartpqi: Add new controller PCI IDs 3e7e55aa3df2 scsi: smartpqi: Map full length of PCI BAR 0 077126d6b941 scsi: smartpqi: Declare SCSI host template const
After cherry-picking these patches, there are 0 diffs between Martin's tree and ALP-current. Need to do a compile check.
Too soon for patch "(077126d6b941 scsi: smartpqi: Declare SCSI host template const)" CC [M] drivers/scsi/smartpqi/smartpqi_init.o CC [M] drivers/nvme/target/admin-cmd.o CC [M] drivers/nvme/target/discovery.o drivers/scsi/smartpqi/smartpqi_init.c: In function ‘pqi_register_scsi’: drivers/scsi/smartpqi/smartpqi_init.c:7381:26: warning: passing argument 1 of ‘scsi_host_alloc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] shost = scsi_host_alloc(&pqi_driver_template, sizeof(ctrl_info)); ^ In file included from drivers/scsi/smartpqi/smartpqi_init.c:23:0: ./include/scsi/scsi_host.h:750:26: note: expected ‘struct scsi_host_template *’ but argument is of type ‘const struct scsi_host_template *’ extern struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *, int); ^~~~~~~~~~~~~~~ CC [M] drivers/net/ethernet/intel/ixgbe/ixgbe_main.o CC [M] drivers/net/ethernet/intel/i40e/i40e_main.o Patch "(e0d3f2c694e5 scsi: core: Declare SCSI host template pointer members const)" Has not yet been applied. The driver still builds and functions with the patch applied. clyfar:~ # modinfo smartpqi | head -4 filename: /lib/modules/6.3.4-150400.22-default+/kernel/drivers/scsi/smartpqi/smartpqi.ko license: GPL version: 2.1.22-040 description: Driver for Microchip Smart Family Controller version 2.1.22-040 clyfar:~ # lsscsi [0:0:0:0] storage HP P440ar 7.02 - [0:1:0:0] disk HP LOGICAL VOLUME 7.02 /dev/sda [0:1:0:1] disk HP LOGICAL VOLUME 7.02 /dev/sde [0:1:0:2] disk HP LOGICAL VOLUME 7.02 /dev/sdf [0:1:0:3] disk HP LOGICAL VOLUME 7.02 /dev/sdb [0:1:0:4] disk HP LOGICAL VOLUME 7.02 /dev/sdd [0:1:0:5] disk HP LOGICAL VOLUME 7.02 /dev/sdg [4:0:0:0] disk ATA MK003840GZXRV HP00 /dev/sdc [7:0:0:0] disk HP EO1600JVYPP HPD7 /dev/sdh [7:0:1:0] disk HP MO1600JVYPR HPD7 /dev/sdi [7:0:2:0] disk HP MO1600JVYPR HPD7 /dev/sdj [7:0:3:0] disk HP EO1600JVYPP HPD7 /dev/sdk [7:0:4:0] disk SEAGATE ST1000NX0323 K002 /dev/sdl [7:0:5:0] disk SEAGATE ST2000NX0263 K002 /dev/sdm [7:0:6:0] enclosu HPE Smart Adapter 3.00 - [7:2:0:0] storage HPE P408i-p SR Gen10 3.00 - [8:0:0:0] disk ASMT 2105 0 /dev/sdn
Tested kdump. # lsscsi for smartpqi devices # clyfar:~ # lsscsi [0:0:0:0] storage HP P440ar 7.02 - [0:1:0:0] disk HP LOGICAL VOLUME 7.02 /dev/sdc [0:1:0:1] disk HP LOGICAL VOLUME 7.02 /dev/sdd [0:1:0:2] disk HP LOGICAL VOLUME 7.02 /dev/sdb [0:1:0:3] disk HP LOGICAL VOLUME 7.02 /dev/sda [0:1:0:4] disk HP LOGICAL VOLUME 7.02 /dev/sde [0:1:0:5] disk HP LOGICAL VOLUME 7.02 /dev/sdf [4:0:0:0] disk ATA MK003840GZXRV HP00 /dev/sdg [7:0:0:0] disk HP EO1600JVYPP HPD7 /dev/sdh [7:0:1:0] disk HP MO1600JVYPR HPD7 /dev/sdi [7:0:2:0] disk HP MO1600JVYPR HPD7 /dev/sdj [7:0:3:0] disk HP EO1600JVYPP HPD7 /dev/sdk [7:0:4:0] disk SEAGATE ST1000NX0323 K002 /dev/sdm [7:0:5:0] disk SEAGATE ST2000NX0263 K002 /dev/sdn [7:0:6:0] enclosu HPE Smart Adapter 3.00 - [7:2:0:0] storage HPE P408i-p SR Gen10 3.00 - [8:0:0:0] disk ASMT 2105 0 /dev/sdl # # I decided to use /dev/sdh as my kdump device. # # mke2fs /dev/sdh mkdir /smartpqi/crash clyfar:~ # ls -ltr /dev/disk/by-uuid/ total 0 lrwxrwxrwx 1 root root 9 May 31 09:59 44d8352f-6cb4-4ae5-b428-e82b59b4756e -> ../../sdg lrwxrwxrwx 1 root root 9 May 31 09:59 12e9253e-b37a-44fc-9462-b22f2075000c -> ../../sdh lrwxrwxrwx 1 root root 10 May 31 09:59 0b6d4f4c-345d-4a4a-83ce-a7a19e1f2ac0 -> ../../dm-0 lrwxrwxrwx 1 root root 10 May 31 09:59 d6a6be8e-bc1e-4d73-8c79-64e9500b5099 -> ../../dm-1 lrwxrwxrwx 1 root root 10 May 31 09:59 ebbe0b98-c14d-4e84-820a-f036be8a9b11 -> ../../dm-2 lrwxrwxrwx 1 root root 10 May 31 09:59 49C1-348C -> ../../sdl1 clyfar:~ # clyfar:~ # cat /etc/fstab /dev/system/swap swap swap defaults 0 0 /dev/system/root / btrfs defaults 0 0 /dev/system/root /.snapshots btrfs subvol=/@/.snapshots 0 0 /dev/system/root /var btrfs subvol=/@/var 0 0 /dev/system/root /usr/local btrfs subvol=/@/usr/local 0 0 /dev/system/root /tmp btrfs subvol=/@/tmp 0 0 /dev/system/root /srv btrfs subvol=/@/srv 0 0 /dev/system/root /root btrfs subvol=/@/root 0 0 /dev/system/root /opt btrfs subvol=/@/opt 0 0 /dev/system/home /home xfs defaults 0 0 /dev/system/root /boot/grub2/x86_64-efi btrfs subvol=/@/boot/grub2/x86_64-efi 0 0 /dev/system/root /boot/grub2/i386-pc btrfs subvol=/@/boot/grub2/i386-pc 0 0 #UUID=49C1-348C /boot/efi vfat utf8 0 2 PARTUUID=a12291d1-47e3-468c-afcb-a2abe19c661f /boot/efi vfat utf8 0 2 # Here is the mountpoint for a smartpqi device. # I choose ext2 because that is the most common fs used for kdump. UUID=12e9253e-b37a-44fc-9462-b22f2075000c /smartpqi/crash ext2 defaults 0 0 UUID=44d8352f-6cb4-4ae5-b428-e82b59b4756e /driver_development ext3 defaults 0 0 # # Showing mount points # clyfar:~ # df Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 4096 0 4096 0% /dev tmpfs 7881544 4 7881540 1% /dev/shm tmpfs 3152620 10004 3142616 1% /run tmpfs 4096 0 4096 0% /sys/fs/cgroup /dev/mapper/system-root 41943040 21878980 18578268 55% / /dev/mapper/system-root 41943040 21878980 18578268 55% /root /dev/mapper/system-root 41943040 21878980 18578268 55% /tmp /dev/mapper/system-root 41943040 21878980 18578268 55% /var tmpfs 1576308 44 1576264 1% /run/user/467 tmpfs 1576308 24 1576284 1% /run/user/0 /dev/mapper/system-root 41943040 21878980 18578268 55% /.snapshots /dev/mapper/system-root 41943040 21878980 18578268 55% /usr/local /dev/mapper/system-root 41943040 21878980 18578268 55% /srv /dev/mapper/system-root 41943040 21878980 18578268 55% /opt /dev/mapper/system-home 26201600 817260 25384340 4% /home /dev/mapper/system-root 41943040 21878980 18578268 55% /boot/grub2/x86_64-efi /dev/mapper/system-root 41943040 21878980 18578268 55% /boot/grub2/i386-pc /dev/sdl1 523248 5224 518024 1% /boot/efi # # mountpoint for /smartpqi/crash # /dev/sdh 1538220140 581980 1459497472 1% /smartpqi/crash /dev/sdg 3690764992 26651312 3476576768 1% /driver_development # Looking at /etc/sysconfig/kdump # kdumptool dump_config works pretty will to show contents of this file # without commented out lines. clyfar:~ # kdumptool dump_config KDUMP_KERNELVER= KDUMP_CPUS=1 KDUMP_COMMANDLINE= KDUMP_COMMANDLINE_APPEND='console=ttyS0,115200 console=tty0' KDUMP_AUTO_RESIZE=no KEXEC_OPTIONS= MAKEDUMPFILE_OPTIONS= KDUMP_IMMEDIATE_REBOOT=yes KDUMP_TRANSFER= # This is how kdump knows where to save... # But an entry is needed in /etc/fstab to have this local file available if # you want to test on a smartpqi device. KDUMP_SAVEDIR=file:///smartpqi/crash KDUMP_KEEP_OLD_DUMPS=5 KDUMP_FREE_DISK_SIZE=64 KDUMP_VERBOSE=3 KDUMP_DUMPLEVEL=31 KDUMP_DUMPFORMAT=lzo KDUMP_CONTINUE_ON_ERROR=yes KDUMP_REQUIRED_PROGRAMS= KDUMP_PRESCRIPT= KDUMP_POSTSCRIPT= KDUMP_COPY_KERNEL=yes KDUMPTOOL_FLAGS= KDUMP_NETCONFIG=auto KDUMP_NET_TIMEOUT=30 KDUMP_SMTP_SERVER= KDUMP_SMTP_USER= KDUMP_SMTP_PASSWORD= KDUMP_NOTIFICATION_TO= KDUMP_NOTIFICATION_CC= KDUMP_HOST_KEY= KDUMP_SSH_IDENTITY= # # I used yast to increase the crashkernel size from the default of 192M to 385M, then # rebooted. Then tested kdump after the newer crashkernel size took effect. # I did this because with I tested the default value of 192M, I saw memory allocation # errors... # clyfar:~ # cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-6.3.4-150400.22-default+ root=/dev/mapper/system-root mitigations=auto console=ttyS0,115200 console=tty0 crashkernel=385M,high crashkernel=72M,low clyfar:~ # systemctl status kdump kdump.service - Load kdump kernel and initrd Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor pre> Active: active (exited) since Wed 2023-05-31 09:26:38 CDT; 2min 13s ago Process: 13850 ExecStart=/usr/lib/kdump/load.sh --update (code=exited, stat> Main PID: 13850 (code=exited, status=0/SUCCESS) May 31 09:26:13 clyfar systemd[1]: Starting Load kdump kernel and initrd... May 31 09:26:38 clyfar systemd[1]: Finished Load kdump kernel and initrd. clyfar:~ # ls -l /smartpqi/crash/2023-05-31-09\:55/ total 431788 -rw------- 1 root root 109579 May 31 09:57 dmesg.txt -rw-r--r-- 1 root root 185 May 31 09:57 README.txt -rw-r--r-- 1 root root 6562786 May 31 09:57 System.map-6.3.4-150400.22-default+ -rw------- 1 root root 161808336 May 31 09:57 vmcore -rw-r--r-- 1 root root 273209764 May 31 09:57 vmlinux-6.3.4-150400.22-default+.gz
I went one step further and added the commits from 6.6-rc: 3e7e55aa3df2 scsi: smartpqi: Map full length of PCI BAR 0 fe0375d48513 scsi: smartpqi: Add new controller PCI IDs 889cda36db99 scsi: smartpqi: Remove NULL pointer check 2312e844dc8d scsi: smartpqi: Fix rare SAS transport memory leak 80d560d94fa9 scsi: smartpqi: Remove contention for raid_bypass_cnt 5c9e3c1c5276 scsi: smartpqi: Validate block layer host tag 68f7920492be scsi: smartpqi: Add support for RAID NCQ priority c23efd9eadd8 scsi: smartpqi: Fix byte aligned writew for ARM servers 2eddf98d0152 scsi: smartpqi: Stop sending driver-initiated TURs d2c7583f27cc scsi: smartpqi: Add sysfs entry for NUMA node in /sys/block/sdX/device 49fd52d4991f scsi: smartpqi: Update copyright to 2023 fcb405111a24 scsi: smartpqi: Update version to 2.1.22-040 41e5d6f64d76 scsi: smartpqi: Replace all non-returning strlcpy() with strscpy() 6f0a92fd7db1 scsi: smartpqi: Replace one-element arrays with flexible-array members 153c45dd63ef scsi: smartpqi: Add abort handler 43cf3a6eab58 scsi: smartpqi: Rename MACRO to clarify purpose e9c39117b448 scsi: smartpqi: Rename pciinfo to pci_info dad662c9fe50 scsi: smartpqi: Simplify lun_number assignment 276395d024cc scsi: smartpqi: Enhance shutdown notification 72b737fa73bf scsi: smartpqi: Enhance controller offline notification e1b919494aa9 scsi: smartpqi: Enhance error messages 08b7ad50c8bc scsi: smartpqi: Change driver version to 2.1.24-046 Let me know if there are reasons not to do so.
(In reply to Martin Wilck from comment #6) > I went one step further and added the commits from 6.6-rc: > > 3e7e55aa3df2 scsi: smartpqi: Map full length of PCI BAR 0 > fe0375d48513 scsi: smartpqi: Add new controller PCI IDs > 889cda36db99 scsi: smartpqi: Remove NULL pointer check > 2312e844dc8d scsi: smartpqi: Fix rare SAS transport memory leak > 80d560d94fa9 scsi: smartpqi: Remove contention for raid_bypass_cnt > 5c9e3c1c5276 scsi: smartpqi: Validate block layer host tag > 68f7920492be scsi: smartpqi: Add support for RAID NCQ priority > c23efd9eadd8 scsi: smartpqi: Fix byte aligned writew for ARM servers > 2eddf98d0152 scsi: smartpqi: Stop sending driver-initiated TURs > d2c7583f27cc scsi: smartpqi: Add sysfs entry for NUMA node in > /sys/block/sdX/device > 49fd52d4991f scsi: smartpqi: Update copyright to 2023 > fcb405111a24 scsi: smartpqi: Update version to 2.1.22-040 > 41e5d6f64d76 scsi: smartpqi: Replace all non-returning strlcpy() with > strscpy() > 6f0a92fd7db1 scsi: smartpqi: Replace one-element arrays with flexible-array > members > 153c45dd63ef scsi: smartpqi: Add abort handler > 43cf3a6eab58 scsi: smartpqi: Rename MACRO to clarify purpose > e9c39117b448 scsi: smartpqi: Rename pciinfo to pci_info > dad662c9fe50 scsi: smartpqi: Simplify lun_number assignment > 276395d024cc scsi: smartpqi: Enhance shutdown notification > 72b737fa73bf scsi: smartpqi: Enhance controller offline notification > e1b919494aa9 scsi: smartpqi: Enhance error messages > 08b7ad50c8bc scsi: smartpqi: Change driver version to 2.1.24-046 > > Let me know if there are reasons not to do so. Thank you for doing all of the patches. We really appreciate it.
Submitted to my for-next branch.
I close the bug report as the patches are submitted.