Hi,
I've encountered frequent command timeout while doing heavy pressure of small
IO with "LSI Logic / Symbios Logic SAS3008 PCI-Express Fusion-MPT SAS-3" card,
using HGST SAS disks. HBA setup dmesg reports it has NCQ capability. By google
search, I found many comments that NCQ may delay an I/O for an arbitrary amount
of time, and cause high latency, especially for raid application. However, only
find a method for libata/ahci, not mpt3sas.
How can disable it with mpt3sas? or can it be disabled with mpt3sas driver or
use sdparm to access the physical disk? Do you know the command? I've only used
sdparm to modify WCE feature.
Below is dmesg:
[ 3.521138] mpt3sas0: Current Controller Queue Depth(3835),Max Controller
Queue Depth(4096)
[ 3.521731] mpt3sas0: Scatter Gather Elements per IO(128)
[ 3.567502] mpt3sas0: LSISAS3008: FWVersion(05.00.00.00),
ChipRevision(0x02), BiosVersion(08.11.00.00)
[ 3.568212] mpt3sas0: Protocol=(
[ 3.568220] Initiator
[ 3.568861] ),
[ 3.568862] Capabilities=(
[ 3.569483] Raid
[ 3.569485] ,TLR
[ 3.570098] ,EEDP
[ 3.570100] ,Snapshot Buffer
[ 3.570699] ,Diag Trace Buffer
[ 3.570703] ,Task Set Full
[ 3.571297] ,NCQ
[ 3.571299] )
some code in the abort logging:
node-192.168.38.94: [Fri Feb 1 08:27:14 2019] mpt3sas0: log_info(0x31120303):
originator(PL), code(0x12), sub_code(0x0303)
[root@node96 ~]# ucli cluster run "dmesg -T" |grep 'mpt3sas.*log_info' |awk
'{print $NF}' |sort -u
sub_code(0x010a)
sub_code(0x010c)
sub_code(0x0302)
sub_code(0x0303)
sub_code(0x0436)
Regards,
Vaughan