Skip to content

Commit 158e5fe

Browse files
volodymyrsamotiymssonicbld
authored andcommitted
[Mellanox] Disable SSD NCQ on Mellanox platforms (sonic-net#17567)
- Why I did it Based on some research some products might experience an occasional IO failures in the communication between CPU and SSD because of NCQ. There seems to be a problem between some kernel versions and some SATA controllers. Syslog error message examples: Error "ata1: SError: { UnrecovData Handshk }" - "failed command: WRITE FPDMA QUEUED". Error "ata1: SError: { RecovComm HostInt PHYRdyChg CommWake 10B8B DevExch }" - "failed command: READ FPDMA QUEUED". Some vendors already disabled NCQ on their platforms in SONiC due to similar issue: [Arista] Disable ATA NCQ for a few products sonic-net#13739 [Arista] Disable ATA NCQ for a few products [Arista] Disable SSD NCQ on DCS-7050CX3-32S sonic-net#13964 [Arista] Disable SSD NCQ on DCS-7050CX3-32S Also there are other discussions on Debian/Ubuntu forums about similar issues and it was suggested to disable NCQ: https://askubuntu.com/questions/133946/are-these-sata-errors-dangerous - How I did it Add a kernel parameter to tell libata to disable NCQ - How to verify it Use FIO tool - fio --direct=1 --rw=randrw --bs=64k --ioengine=libaio --iodepth=64 --runtime=120 --numjobs=4
1 parent 4efd510 commit 158e5fe

File tree

14 files changed

+14
-3
lines changed

14 files changed

+14
-3
lines changed
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="acpi_enforce_resources=lax acpi=noirq"
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="acpi_enforce_resources=lax acpi=noirq libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="acpi_enforce_resources=lax acpi=noirq"
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="acpi_enforce_resources=lax acpi=noirq libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="acpi_enforce_resources=lax"
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="acpi_enforce_resources=lax libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="libata.force=noncq"

0 commit comments

Comments
 (0)