sonic-buildimage/device/mellanox
Volodymyr Samotiy 15a0f912bd [Mellanox] Disable SSD NCQ on Mellanox platforms (#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 #13739 [Arista] Disable ATA NCQ for a few products
[Arista] Disable SSD NCQ on DCS-7050CX3-32S #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
2024-02-01 04:32:27 +08:00
..
x86_64-mlnx_lssn2700-r0 Add platform_asic file to each platform folder in sonic-device-data based package (#8542) 2021-10-08 19:27:48 -07:00
x86_64-mlnx_msn2010-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_msn2100-r0 [202305][buffers] Add 'create_only_config_db_buffers.json' file for the Mellanox devices (not MSFT SKU) (#17006) 2023-11-03 14:27:17 +08:00
x86_64-mlnx_msn2410-r0 [202305][buffers] Add 'create_only_config_db_buffers.json' file for the Mellanox devices (not MSFT SKU) (#17006) 2023-11-03 14:27:17 +08:00
x86_64-mlnx_msn2700_simx-r0 Removed platform specific reboot files for mellanox simx platforms (#10806) 2022-05-14 15:20:57 +03:00
x86_64-mlnx_msn2700-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_msn2700a1-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_msn2740-r0 [202305][buffers] Add 'create_only_config_db_buffers.json' file for the Mellanox devices (not MSFT SKU) (#17006) 2023-11-03 14:27:17 +08:00
x86_64-mlnx_msn3420-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_msn3700_simx-r0 Removed platform specific reboot files for mellanox simx platforms (#10806) 2022-05-14 15:20:57 +03:00
x86_64-mlnx_msn3700-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_msn3700c-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_msn3800-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_msn4410-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_msn4600-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_msn4600c-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_msn4700_simx-r0 Removed platform specific reboot files for mellanox simx platforms (#10806) 2022-05-14 15:20:57 +03:00
x86_64-mlnx_msn4700-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-mlnx_x86-r5.0.1400 Add platform_asic file to each platform folder in sonic-device-data based package (#8542) 2021-10-08 19:27:48 -07:00
x86_64-nvidia_sn2201-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-nvidia_sn4800_simx-r0 Removed platform specific reboot files for mellanox simx platforms (#10806) 2022-05-14 15:20:57 +03:00
x86_64-nvidia_sn4800-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00
x86_64-nvidia_sn5600_simx-r0 [Mellanox] [SN5600] Removing 8x DPB mode from platform files (#17071) (#17119) 2023-11-08 22:48:22 +08:00
x86_64-nvidia_sn5600-r0 [Mellanox] Disable SSD NCQ on Mellanox platforms (#17567) 2024-02-01 04:32:27 +08:00