linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ich10r ahci with port multiplier or native detaches disks
@ 2008-09-08 14:33 Jan Wagner
  2008-09-09 11:44 ` Tejun Heo
  0 siblings, 1 reply; 2+ messages in thread
From: Jan Wagner @ 2008-09-08 14:33 UTC (permalink / raw)
  To: linux-ide

Hi,

two problems with ICH10R in AHCI.

First the minor(?) issue, the ICH10(R) datasheet
   http://www.intel.com/Assets/PDF/datasheet/319973.pdf
says on page 527, PMS flag: port multipliers are not supported. The PMFSE 
flag page 542 says neither port multipliers nor FIS pmp are supported.

On our ASUS P5Q Pro motherboard with ICH10R, ahci detects 'pmp':

ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps 0x3f impl SATA mode
ahci 0000:00:1f.2: flags: 64bit ncq sntf stag pm led clo pmp pio slum part ems

In light of the datasheet, perhaps in ahci.c the CAP register (read-only 
from host) 'pmp' flag should be actively reset to 0 for ich10r?


Ayway the bigger issue with ICH10R is that the SATA disks detach randomly 
during "heavy" i/o load. This happens withing just a few seconds. If I 
disable NCQ (echo 1 > nr_requests), it takes "longer" to happen, some ten 
seconds. I already ruled out the SATA cables, disks themselves, and disk 
cages as a cause.

The detaching happens at least in these (Ubuntu-patched) kernels:

$ uname -rm
2.6.27-2-generic i686

$ uname -rm
2.6.24-19-generic i686

It happens with disks behind a port multiplier. The ich10r 'pmp' 
"support" seems to work as CB- but not FIS-based, so it is slow, or just 
broken.

But the detaches also happen with disks connected to the native ich10r 
ports.

All in all ich10r seems to work very unreliably. So I was wondering if 
support for ICH10R in ahci.c is not complete yet?


Or can someone here shout "ich10r ahci works for me"?


The following happened with two disks behind a port multiplier and 
writing to one disk:

[10648.936095] sd 0:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
[10648.936104] sd 0:0:0:0: [sdb] Sense Key : Aborted Command [current] [descriptor]
[10648.936112] Descriptor sense data with sense descriptors (in hex):
[10648.936117]         72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00
[10648.936127]         00 00 00 00
[10648.936131] sd 0:0:0:0: [sdb] Add. Sense: No additional sense information
[10648.936152] ata1: EH complete
[10648.936200] sd 0:1:0:0: [sdc] 1953525168 512-byte hardware sectors (1000205 MB)
[10648.936221] sd 0:1:0:0: [sdc] Write Protect is off
[10648.936270] sd 0:1:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[10648.936278] ata1.00: detaching (SCSI 0:0:0:0)
[10648.936289] Dev sdb: unable to read RDB block 0
[10648.936322]  unable to read partition table
[10648.938056] sd 0:0:0:0: [sdb] Synchronizing SCSI cache
[10648.938099] sd 0:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
[10648.938103] sd 0:0:0:0: [sdb] Stopping disk
[10648.938114] sd 0:0:0:0: [sdb] START_STOP FAILED

And this happened with the port multiplier removed and different disks 
connected to only the native ich10r ports with no multiplier:

[470.408042] sd 1:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
[470.408047] sd 1:0:0:0: [sdb] Sense Key : Aborted Command [current] [descriptor]
[470.408055] Descriptor sense data with sense descriptors (in hex):
[470.408057]         72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00
[470.408068]         00 01 34 00
[470.408072] sd 1:0:0:0: [sdb] Add. Sense: No additional sense information
[470.408208] lost page write due to I/O error on md0
[470.408268] lost page write due to I/O error on md0
[470.408326] lost page write due to I/O error on md0
...
[470.408836] sd 1:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
[470.408839] sd 1:0:0:0: [sdb] Sense Key : Aborted Command [current] [descriptor]
[470.408845] Descriptor sense data with sense descriptors (in hex):
[470.408847]         72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00
[470.408858]         00 01 34 00
[470.408861] sd 1:0:0:0: [sdb] Add. Sense: No additional sense information
[470.409021] sd 1:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
[470.409025] sd 1:0:0:0: [sdb] Sense Key : Aborted Command [current] [descriptor]
[470.409030] Descriptor sense data with sense descriptors (in hex):
[470.409032]         72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00
[470.409042]         00 01 34 00
[470.409046] sd 1:0:0:0: [sdb] Add. Sense: No additional sense information

For me kind of hard to debug. If you need more info please just say!

Many thanks,
  - Jan

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ich10r ahci with port multiplier or native detaches disks
  2008-09-08 14:33 ich10r ahci with port multiplier or native detaches disks Jan Wagner
@ 2008-09-09 11:44 ` Tejun Heo
  0 siblings, 0 replies; 2+ messages in thread
From: Tejun Heo @ 2008-09-09 11:44 UTC (permalink / raw)
  To: Jan Wagner; +Cc: linux-ide

Jan Wagner wrote:
> First the minor(?) issue, the ICH10(R) datasheet
>   http://www.intel.com/Assets/PDF/datasheet/319973.pdf
> says on page 527, PMS flag: port multipliers are not supported. The
> PMFSE flag page 542 says neither port multipliers nor FIS pmp are
> supported.

ICH10R works fine with PMP in command-switching mode.  FIS based
switching is not supported and I agree the doc is somewhat confusing.

> On our ASUS P5Q Pro motherboard with ICH10R, ahci detects 'pmp':
> 
> ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps 0x3f impl SATA
> mode
> ahci 0000:00:1f.2: flags: 64bit ncq sntf stag pm led clo pmp pio slum
> part ems
> 
> In light of the datasheet, perhaps in ahci.c the CAP register (read-only
> from host) 'pmp' flag should be actively reset to 0 for ich10r?
> 
> Ayway the bigger issue with ICH10R is that the SATA disks detach
> randomly during "heavy" i/o load. This happens withing just a few
> seconds. If I disable NCQ (echo 1 > nr_requests), it takes "longer" to
> happen, some ten seconds. I already ruled out the SATA cables, disks
> themselves, and disk cages as a cause.
> 
> The detaching happens at least in these (Ubuntu-patched) kernels:
> 
> $ uname -rm
> 2.6.27-2-generic i686
> 
> $ uname -rm
> 2.6.24-19-generic i686
> 
> It happens with disks behind a port multiplier. The ich10r 'pmp'
> "support" seems to work as CB- but not FIS-based, so it is slow, or just
> broken.
> 
> But the detaches also happen with disks connected to the native ich10r
> ports.
> 
> All in all ich10r seems to work very unreliably. So I was wondering if
> support for ICH10R in ahci.c is not complete yet?
> 
> 
> Or can someone here shout "ich10r ahci works for me"?

ICH10 works fine w/ or w/o PMP.  Can you please post full kernel log
including boot messages and error messages?

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-09-09 11:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-08 14:33 ich10r ahci with port multiplier or native detaches disks Jan Wagner
2008-09-09 11:44 ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).