libata: add NCQ blacklist entries from Silicon Image Windows driver
PATCH 1/1 libata: add NCQ blacklist entries from Silicon Image Windows driver
This patch adds in some NCQ blacklist entries taken from the Silicon Image Windows drivers' .inf files for the 3124 and 3132 controllers. These entries were marked as ""DisableSataQueueing". Assume these are in their blacklist for a reason and disable NCQ on these drives.
drivers/ata/libata-core.c renamed from drivers/ata/libata-core.c.prev +0 -0
@@ -3269,6 +3269,13 @@ static const struct ata_blacklist_entry
/* Devices with NCQ limits */
+ /* The following blacklist entries are taken from the Windows
+ driver .inf files for the Silicon Image 3124 and 3132. */
+ { "Maxtor 7B250S0", "BANC1B70", ATA_HORKAGE_NONCQ, },
+ { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, },
+ { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, },
+ { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },
+
/* End Marker */
{ }
};Quoted 12 lines · Robert Hancock
This patch adds in some NCQ blacklist entries taken from the Silicon Image Windows drivers' .inf files for the 3124 and 3132 controllers. These entries were marked as ""DisableSataQueueing". Assume these are in their blacklist for a reason and disable NCQ on these drives.
Signed-off-by Robert Hancock <[email protected]>--- linux-2.6.21-rc1edit/drivers/ata/libata-core.c.prev 2007-02-21
22:23:05.000000000 -0600
+++linux-2.6.21-rc1edit/drivers/ata/libata-core.c2007-02-21
22:25:44.000000000 -0600
Review static const struct ata_blacklist_entry · line 3276
Quoted 8 lines
(quoted diff) +6
-0@@ -3269,6 +3269,13 @@ static const struct ata_blacklist_entry /* Devices with NCQ limits */ + /* The following blacklist entries are taken from the Windows + driver .inf files for the Silicon Image 3124 and 3132. */ + { "Maxtor 7B250S0", "BANC1B70", ATA_HORKAGE_NONCQ, }, + { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },
Do we have information that these drives fail on non-SiI controllers?
Sometimes the problem can be related to a single family of controllers.
Jeff
Quoted 24 lines · Jeff Garzik
Quoted 12 lines · Robert Hancock
This patch adds in some NCQ blacklist entries taken from the Silicon Image Windows drivers' .inf files for the 3124 and 3132 controllers. These entries were marked as ""DisableSataQueueing". Assume these are in their blacklist for a reason and disable NCQ on these drives.
Signed-off-by Robert Hancock <[email protected]>--- linux-2.6.21-rc1edit/drivers/ata/libata-core.c.prev 2007-02-21
22:23:05.000000000 -0600
+++linux-2.6.21-rc1edit/drivers/ata/libata-core.c2007-02-21
22:25:44.000000000 -0600Review static const struct ata_blacklist_entry · line 3276
Quoted 8 lines
(quoted diff) +6
-0@@ -3269,6 +3269,13 @@ static const struct ata_blacklist_entry /* Devices with NCQ limits */ + /* The following blacklist entries are taken from the Windows + driver .inf files for the Silicon Image 3124 and 3132. */ + { "Maxtor 7B250S0", "BANC1B70", ATA_HORKAGE_NONCQ, }, + { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },Do we have information that these drives fail on non-SiI controllers?
Quoted 1 line
Sometimes the problem can be related to a single family of controllers.
I don't know about the Hitachi's, but the Maxtor with that firmware is definitely broken. It _appeared_ to work if the depth was limited to 4, but I didn't test it long enough to be absolutely certain. So the safest is indeed to blacklist it.
I'm pretty sure my initial NCQ patches had a blacklist entry for that drive as well, but apparently the blacklist got lost somewhere along the way?
Signature · 1 line
Jens Axboe
Quoted 8 lines · Jens Axboe
Quoted 1 line
Robert Hancock wrote:
..
Quoted 6 lines
Quoted 6 lines
(quoted diff) +6
-0+ /* The following blacklist entries are taken from the Windows + driver .inf files for the Silicon Image 3124 and 3132. */ + { "Maxtor 7B250S0", "BANC1B70", ATA_HORKAGE_NONCQ, }, + { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },
Quoted 8 lines
Quoted 3 lines
Do we have information that these drives fail on non-SiI controllers?
Sometimes the problem can be related to a single family of controllers.
I don't know about the Hitachi's, but the Maxtor with that firmware is definitely broken. It _appeared_ to work if the depth was limited to 4, but I didn't test it long enough to be absolutely certain. So the safest is indeed to blacklist it.
Yes, broken on the Silicon Image controllers for sure. But what type of controller did you observe the failures on, Jens ?
Quoted 13 lines · Mark Lord
Quoted 12 lines · Jens Axboe
Quoted 1 line
Robert Hancock wrote:
..
Quoted 9 lines
Review
Quoted 6 lines
(quoted diff) +6
-0+ /* The following blacklist entries are taken from the Windows + driver .inf files for the Silicon Image 3124 and 3132. */ + { "Maxtor 7B250S0", "BANC1B70", ATA_HORKAGE_NONCQ, }, + { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },Do we have information that these drives fail on non-SiI controllers?
Sometimes the problem can be related to a single family of controllers.
Quoted 7 lines
Quoted 4 lines
I don't know about the Hitachi's, but the Maxtor with that firmware is definitely broken. It _appeared_ to work if the depth was limited to 4, but I didn't test it long enough to be absolutely certain. So the safest is indeed to blacklist it.
Yes, broken on the Silicon Image controllers for sure. But what type of controller did you observe the failures on, Jens ?
achi
Signature · 1 line
Jens Axboe
Quoted 3 lines · Jeff Garzik
Quoted 3 lines
(quoted diff) +3
-0+ /* The following blacklist entries are taken from the Windows + driver .inf files for the Silicon Image 3124 and 3132. */ + { "Maxtor 7B250S0", "BANC1B70", ATA_HORKAGE_NONCQ, },
[...]
Quoted 2 lines
Do we have information that these drives fail on non-SiI controllers?
At least tangentially related:
On one of my boxes (running 2.6.18-1.2869 from Fedora) I have a couple of other Maxtor drives that didn't like NCQ. They are on a JMicron 20360/20363 (ahci driver). (There's also a Promise 300 TX4 card in the box and an Intel ICH8 that shows up with ata_piix).
model and (partial) firmware revision of the drives:
Maxtor 7V300F0 VA11
Maxtor 7B300S0 BANC
Until I disabled NCQ I got gazillions of messages like the ones below and absymal performance.
- ask
ata5: spurious interrupt (irq_stat 0x8 active_tag -84148995 sactive 0xf)
ata6: spurious interrupt (irq_stat 0x8 active_tag -84148995 sactive 0x33)
ata5: spurious interrupt (irq_stat 0x8 active_tag -84148995 sactive 0x0)
ata6: spurious interrupt (irq_stat 0x8 active_tag -84148995 sactive 0x0)
ata5: spurious interrupt (irq_stat 0x8 active_tag -84148995 sactive 0x0)
ata6: spurious interrupt (irq_stat 0x8 active_tag -84148995 sactive 0x0)
ata6: spurious interrupt (irq_stat 0x8 active_tag -84148995 sactive 0x38)
ata5: spurious interrupt (irq_stat 0x8 active_tag -84148995 sactive 0x3c)
ata5: spurious interrupt (irq_stat 0x8 active_tag -84148995 sactive 0xf2)
ata5: spurious interrupt (irq_stat 0x8 active_tag -84148995 sactive 0x1c)
Signature · 1 line
http://develooper.com/ - http://askask.com/
Quoted 18 lines · Ask Bjørn Hansen
Quoted 3 lines · Jeff Garzik
Quoted 3 lines
(quoted diff) +3
-0+ /* The following blacklist entries are taken from the Windows + driver .inf files for the Silicon Image 3124 and 3132. */ + { "Maxtor 7B250S0", "BANC1B70", ATA_HORKAGE_NONCQ, },[...]
Quoted 2 lines
Do we have information that these drives fail on non-SiI controllers?
At least tangentially related:
On one of my boxes (running 2.6.18-1.2869 from Fedora) I have a couple of other Maxtor drives that didn't like NCQ. They are on a JMicron 20360/20363 (ahci driver). (There's also a Promise 300 TX4 card in the box and an Intel ICH8 that shows up with
ata_piix).model and (partial) firmware revision of the drives:
Maxtor 7V300F0 VA11
Maxtor 7B300S0 BANC
Quoted 6 lines
Until I disabled NCQ I got gazillions of messages like the ones below and absymal performance.
- ask
ata5: spurious interrupt (
irq_stat0x8active_tag-84148995 sactive0xf)
Sounds like those are some that we should be blacklisting as well, unless Eric has a good reason why not (CCing). Can you provide the full firmware revision strings from those drives, i.e. from "hdparm -I"?
Signature · 3 lines
Robert Hancock Saskatoon, SK, Canada To email, remove "nospam" from [email protected] Home Page: http://www.roberthancock.com/
Quoted 9 lines · Robert Hancock
Quoted 6 lines
model and (partial) firmware revision of the drives:
Maxtor 7V300F0 VA11
Maxtor 7B300S0 BANC
Until I disabled NCQ I got gazillions of messages like the ones below and absymal performance.
- ask
ata5: spurious interrupt (irq_stat0x8active_tag-84148995 sactive0xf)Sounds like those are some that we should be blacklisting as well, unless Eric has a good reason why not (CCing). Can you provide the full firmware revision strings from those drives, i.e. from "hdparm -I"?
ATA device, with non-removable media
Model Number: Maxtor 7B300S0
Firmware Revision: BANC1B70
ATA device, with non-removable media
Model Number: Maxtor 7V300F0
Firmware Revision: VA111630
- ask
Signature · 1 line
http://develooper.com/ - http://askask.com/
Quoted 12 lines · Robert Hancock
This patch adds in some NCQ blacklist entries taken from the Silicon Image Windows drivers' .inf files for the 3124 and 3132 controllers. These entries were marked as ""DisableSataQueueing". Assume these are in their blacklist for a reason and disable NCQ on these drives.
Signed-off-by Robert Hancock <[email protected]>--- linux-2.6.21-rc1edit/drivers/ata/libata-core.c.prev 2007-02-21
22:23:05.000000000 -0600
+++linux-2.6.21-rc1edit/drivers/ata/libata-core.c2007-02-21
22:25:44.000000000 -0600
Review static const struct ata_blacklist_entry · line 3276
Quoted 8 lines
(quoted diff) +6
-0@@ -3269,6 +3269,13 @@ static const struct ata_blacklist_entry /* Devices with NCQ limits */ + /* The following blacklist entries are taken from the Windows + driver .inf files for the Silicon Image 3124 and 3132. */ + { "Maxtor 7B250S0", "BANC1B70", ATA_HORKAGE_NONCQ, }, + { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },
The general consensus of private emails seems to be that its ok to blacklist the Maxtor one, at least.
So let's go ahead and at least get that entry in.
Jeff
Quoted 15 lines · Jeff Garzik
Quoted 14 lines · Robert Hancock
This patch adds in some NCQ blacklist entries taken from the Silicon Image Windows drivers' .inf files for the 3124 and 3132 controllers. These entries were marked as ""DisableSataQueueing". Assume these are in their blacklist for a reason and disable NCQ on these drives.
Signed-off-by Robert Hancock <[email protected]>--- linux-2.6.21-rc1edit/drivers/ata/libata-core.c.prev 2007-02-21
22:23:05.000000000 -0600
+++linux-2.6.21-rc1edit/drivers/ata/libata-core.c2007-02-21
22:25:44.000000000 -0600(quoted diff) +0
-0@@ -3269,6 +3269,13 @@ static const struct ata_blacklist_entry /* Devices with NCQ limits */
Quoted 6 lines
Review static const struct ata_blacklist_entry · line 3276
Quoted 6 lines
(quoted diff) +6
-0+ /* The following blacklist entries are taken from the Windows + driver .inf files for the Silicon Image 3124 and 3132. */ + { "Maxtor 7B250S0", "BANC1B70", ATA_HORKAGE_NONCQ, }, + { "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541080G9SA00", "MB4OC60D", ATA_HORKAGE_NONCQ, }, + { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },
There was a recent regression report on ahci + HTS541010G9SA00 from Mathieu Berard (cc'd). NCQ + device initiated link power saving (which, BTW, got activated by executing _GTF. surprise!) combination seems broken. I know that ahci controllers (at least ich6m, ich7 and ich8) work with device initiated PS, so it's most likely the disk that's malfunctioning.
This and the fact sata_sil24 windows driver blacklists them make me think those HTS5410s should be added to our blacklist too. What do you think?
Mathieu, just to be sure, can you post the result of 'hdparm -I /dev/sdX' and 'lspci -nn'?
Thanks.
Signature · 1 line
tejun
Quoted 5 lines · Tejun Heo
Jeff Garzik wrote:
Mathieu, just to be sure, can you post the result of 'hdparm -I
/dev/sdX' and 'lspci -nn'?
Hi,
no problem :
lspci -nn:
00:00.0 Host bridge [0600]: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller [8086:2590] (rev 03) 00:01.0 PCI bridge [0604]: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port [8086:2591] (rev 03)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 [8086:2660] (rev 03)
00:1c.1 PCI bridge [0604]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 [8086:2662] (rev 03)
00:1d.0 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 [8086:2658] (rev 03)
00:1d.1 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 [8086:2659] (rev 03)
00:1d.2 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 [8086:265a] (rev 03)
00:1d.3 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 [8086:265b] (rev 03)
00:1d.7 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller [8086:265c] (rev 03) 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev d3)
00:1e.2 Multimedia audio controller [0401]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller [8086:266e] (rev 03)
00:1e.3 Modem [0703]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller [8086:266d] (rev 03)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge [8086:2641] (rev 03)
00:1f.1 IDE interface [0101]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller [8086:266f] (rev 03)
00:1f.2 IDE interface [0101]: Intel Corporation 82801FBM (ICH6M) SATA Controller [8086:2653] (rev 03)
00:1f.3 SMBus [0c05]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller [8086:266a] (rev 03)
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc M24 [Radeon Mobility X600] [1002:5462]
06:01.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139] (rev 10)
06:02.0 Network controller [0280]: Intel Corporation PRO/Wireless 2200BG Network Connection [8086:4220] (rev 05)
06:04.0 CardBus bridge [0607]: Texas Instruments PCIxx21/x515 Cardbus Controller [104c:8031]
06:04.2 FireWire (IEEE 1394) [0c00]: Texas Instruments OHCI Compliant IEEE 1394 Host Controller [104c:8032]
06:04.3 Mass storage controller [0180]: Texas Instruments PCIxx21 Integrated FlashMedia Controller [104c:8033]
06:04.4 Generic system peripheral [0805]: Texas Instruments PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller [104c:8034]
hdparm -I /dev/sda:
/dev/sda:
ATA device, with non-removable media
Model Number: HTS541010G9SA00
Serial Number: MP2ZM4X0GSWJKR
Firmware Revision: MBZOC60D
Standards:
Used: ATA/ATAPI-7 T13 1532D revision 1
Supported: 7 6 5 4
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 195371568
LBA48 user addressable sectors: 195371568
device size with M = 1024*1024: 95396 MBytes
device size with M = 1000*1000: 100030 MBytes (100 GB)Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Vendor, no device specific minimum R/W multiple sector transfer: Max = 16 Current = 0 Advanced power management level: 128 (0x80) Recommended acoustic management value: 128, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* SMART feature set
Security Mode feature set
* Power Management feature set
* Write cache
* Look-ahead
* Host Protected Area feature set
* WRITE_BUFFER command
* READ_BUFFER command
* NOP cmd
* DOWNLOAD_MICROCODE
* Advanced Power Management feature set
Power-Up In Standby feature set
* SET_FEATURES required to spinup after power up
SET_MAX security extension
Automatic Acoustic Management feature set
* 48-bit Address feature set
* Device Configuration Overlay feature set
* Mandatory FLUSH_CACHE
* FLUSH_CACHE_EXT
* SMART error logging
* SMART self-test
* General Purpose Logging feature set
* WRITE_{DMA|MULTIPLE}_FUA_EXT
* IDLE_IMMEDIATE with UNLOAD
* SATA-I signaling speed (1.5Gb/s)
* Native Command Queueing (NCQ)
* Host-initiated interface power management
Non-Zero buffer offsets in DMA Setup FIS
DMA Setup Auto-Activate optimization Device-initiated interface power management In-order data delivery
* Software settings preservation
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
64min for SECURITY ERASE UNIT.
Checksum: correct
Signature · 1 line
Mathieu