Re: SATA kernel-buffered read VERY slow (not raid, Promise TX300card); 2.6.23.1(vanilla)

From: Mikael Pettersson
Date: Thu Jan 03 2008 - 03:45:41 EST


Linda Walsh writes:
> Robert Hancock wrote:
> > Linda Walsh wrote:
> >> Alan Cox wrote:
> >>>> rate began falling; at 128k block-reads-at-a-time or larger, it
> >>>> drops below
> >>>> 20MB/s (only on buffered SATA).
> >>> Try disabling NCQ - see if you've got a drive with the 'NCQ = no
> >>> readahead' flaw.
> > http://linux-ata.org/faq.html#ncq
> ---
> When drive initializes, dmesg says it has NCQ (depth 0/32)
> Reading the queue_depth under /sys, shows a queuedepth of "1".
>
> But more importantly -- I notice a chronic error message associate
> with this drive that may be causing some or all of the problem:
> ---
> Jan 2 20:06:10 Ishtar kernel: ata1.00: exception Emask 0x0 SAct 0x0
> SErr 0x0 action 0x2
> Jan 2 20:06:10 Ishtar kernel: ata1.00: port_status 0x20080000
> Jan 2 20:06:10 Ishtar kernel: ata1.00: cmd
> c8/00:10:30:06:03/00:00:00:00:00/e0 tag 0 cdb 0x0 data 8192 in
> Jan 2 20:06:10 Ishtar kernel: res
> 50/00:00:3f:06:03/00:00:00:00:00/e0 Emask 0x2 (HSM violation)
> Jan 2 20:06:13 Ishtar kernel: ata1: limiting SATA link speed to 1.5 Gbps
> Jan 2 20:06:13 Ishtar kernel: ata1.00: exception Emask 0x0 SAct 0x0
> SErr 0x0 action 0x6
> Jan 2 20:06:13 Ishtar kernel: ata1.00: port_status 0x20080000
> Jan 2 20:06:13 Ishtar kernel: ata1.00: cmd
> c8/00:10:00:8b:04/00:00:00:00:00/e0 tag 0 cdb 0x0 data 8192 in
> Jan 2 20:06:13 Ishtar kernel: res
> 50/00:00:0f:8b:04/00:00:00:00:00/e0 Emask 0x2 (HSM violation)
> Jan 2 20:06:14 Ishtar kernel: ata1: exception Emask 0x10 SAct 0x0 SErr
> 0x0 action 0x3
> Jan 2 20:06:14 Ishtar kernel: ata1: hotplug_status 0x80
> Jan 2 20:06:15 Ishtar kernel: ata1: exception Emask 0x10 SAct 0x0 SErr
> 0x0 action 0x3
> Jan 2 20:06:15 Ishtar kernel: ata1: hotplug_status 0x80
> ---
> What da heck?

Looks like the Promise ASIC SG bug. Apply
<http://user.it.uu.se/~mikpe/linux/patches/sata_promise/patch-sata_promise-1-asic-sg-bug-fix-v3-2.6.23>
and let us know if things improve.

/Mikael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/