Summary: | [smartpqi] panic: Segment size is not aligned, in a call to bus_dmamap_load_ccb() from smartpqi_cam_action. | ||
---|---|---|---|
Product: | Base System | Reporter: | Ka Ho Ng <khng> |
Component: | kern | Assignee: | Warner Losh <imp> |
Status: | Closed FIXED | ||
Severity: | Affects Some People | CC: | Hermes.TK, editor, emaste, girgen, imp, john.hall, papani.srikanth, scott.benesh |
Priority: | --- | Flags: | imp:
mfc-stable13-
|
Version: | Unspecified | ||
Hardware: | amd64 | ||
OS: | Any |
Description
Ka Ho Ng
![]() ![]() See also https://reviews.freebsd.org/D30182 I am experiencing this same issue with FreeBSD-14.0-CURRENT-amd64-20230216-2894c8c96b9b-260969-disc1.iso|memstick.img when the user confirms the ZFS partitioning/formatting. curthread = 0xfffffe016cc081e0: pid 2494 tid 100630 critnest 1 "fsck_msdosfs" curpcb = 0xfffffe016cc89700 fpcurthread = 0xfffffe016cc891e0: pid 2494 "fsck_msdosfs" idlethread = 0xfffffe0164d5ce40: tid 100042 "idle: cpu39" Hardware: HPE ProLiant DL325 G10 Server 1x EPYC 7402P 64GB P408i P16696-B21 Booting to a pre-configured drive also causes a panic. What additional information would help? A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=f07b267d8cc87e88be3c78aa69504b5ebc6571ee commit f07b267d8cc87e88be3c78aa69504b5ebc6571ee Author: John Hall <john.hall@microchip.com> AuthorDate: 2023-10-19 03:10:58 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2023-10-19 03:12:27 +0000 smartpqi: Change alignment for dma tags Problem: Under certain I/O conditions, a program doing large block disk reads can cause a controller to crash. Root Cause: The SCSI read request and destination address in the BDMA descriptor is incorrect, causing the BDMA engine in the controller to assert. Fix: Change the alignment for creating bus_dma_tags in the driver from PAGE_SIZE (4k) to 1, which allows the controller to manage it's own address range for BDMA transactions. Risk: Medium Exposure: This reverts a change first made to support NVMe drives on Excalibur. At that time a 4k alignment was necessary. This no longer seems to be the case. PR: 259541 Reported by: Ka Ho Ng <khng@freebsd.org> Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D41619 sys/dev/smartpqi/smartpqi_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=01619a8fafcfd99d1811b2c14a92bac1a48c6d31 commit 01619a8fafcfd99d1811b2c14a92bac1a48c6d31 Author: John Hall <john.hall@microchip.com> AuthorDate: 2023-10-19 03:25:32 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2023-10-19 21:21:11 +0000 smartpqi: Change alignment for dma tags Problem: Under certain I/O conditions, a program doing large block disk reads can cause a controller to crash. Root Cause: The SCSI read request and destination address in the BDMA descriptor is incorrect, causing the BDMA engine in the controller to assert. Fix: Change the alignment for creating bus_dma_tags in the driver from PAGE_SIZE (4k) to 1, which allows the controller to manage it's own address range for BDMA transactions. Risk: Medium Exposure: This reverts a change first made to support NVMe drives on Excalibur. At that time a 4k alignment was necessary. This no longer seems to be the case. PR: 259541 Reported by: Ka Ho Ng <khng@freebsd.org> Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D41619 (cherry picked from commit f07b267d8cc87e88be3c78aa69504b5ebc6571ee) sys/dev/smartpqi/smartpqi_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) A commit in branch releng/14.0 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=0efd0d6fa7e0d713ea7e4e9a3e3ac7858475f707 commit 0efd0d6fa7e0d713ea7e4e9a3e3ac7858475f707 Author: John Hall <john.hall@microchip.com> AuthorDate: 2023-10-19 03:25:32 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2023-10-19 21:37:33 +0000 smartpqi: Change alignment for dma tags Problem: Under certain I/O conditions, a program doing large block disk reads can cause a controller to crash. Root Cause: The SCSI read request and destination address in the BDMA descriptor is incorrect, causing the BDMA engine in the controller to assert. Fix: Change the alignment for creating bus_dma_tags in the driver from PAGE_SIZE (4k) to 1, which allows the controller to manage it's own address range for BDMA transactions. Risk: Medium Exposure: This reverts a change first made to support NVMe drives on Excalibur. At that time a 4k alignment was necessary. This no longer seems to be the case. PR: 259541 Reported by: Ka Ho Ng <khng@freebsd.org> Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D41619 (cherry picked from commit f07b267d8cc87e88be3c78aa69504b5ebc6571ee) (cherry picked from commit 01619a8fafcfd99d1811b2c14a92bac1a48c6d31) Approved-by: re (gjb) sys/dev/smartpqi/smartpqi_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ^Triage: assign to committer that resolved. Set flag for possible MFC to 13. Merged to 14, can't merge to 13... |