PROBLEM: ICH5 SATA controller not working in enhanced mode using SMP (2.4.21-ac4)
Hi
I try to run a SMP system (hyperthreading cpu) with enhanced SATA enabled and i have failed to do so for a few days now. I found a thread on lkml that talks
about that issue which seems to be successfully resolved when -ac4 kernel and its new scsi sata driver are used.
http://lists.insecure.org/lists/linux-kernel/2003/Jul/0301.html
I followed the instructions and talked to Jeff Mock (he is running the kernel
successfully with enhanced sata mode and posted the problem to the list) - we
exchanged kernel configs, but my system still hangs on boot... Now here are my
observations:
When I am booting with kernel-2.4.21-ac4-smp the system hangs. Here are the last three lines of output:
-----
SCSI subsystem driver revision: 1.00
ata1: SATA max UDMA/100 cmd 0xEF88 ctl 0xEF86 bmdma 0xEEB0 irq 18
ata2: SATA max UDMA/100 cmd 0xEF68 ctl 0xEF82 bmdma 0xEEB8 irq 18
When I am booting 2.4.21-ac4 in uniprocessor mode output looks like:
-----
SCSI subsystem driver Revision: 1.00ata_piix version 0.9
PCI: Setting latency timer of device 00:1f.2 to 64
ata1: SATA max UDMA/100 cmd 0xEF88 ctl 0xEF86 bmdma 0xEEB0 irq 18
ata2: SATA max UDMA/100 cmd 0xEF68 ctl 0xEF82 bmdma 0xEEB8 irq 18
ata1: dev 0 ATA, max UDMA/133, 156301488 sectors
ata1: dev 0 configured for UDMA/100
ata2: thread exiting
scsi0 : ata_piix
scsi1 : ata_piix
Vendor: ATA Model: ST380013AS Rev: 0.51
Type: Direct-Access ANSI SCSI revision: 05
libata version 0.51 loaded.
Jeff Mocks kernel output looks like this:
-----
SCSI subsystem driver Revision: 1.00ata_piix version 0.9
PCI: Setting latency timer of device 00:1f.2 to 64
ata1: SATA max UDMA/100 cmd 0xEC00 ctl 0xE802 bmdma 0xDC00 irq 18
ata2: SATA max UDMA/100 cmd 0xE400 ctl 0xE002 bmdma 0xDC08 irq 18
ata1: dev 0 ATA, max UDMA/133, 240121728 sectors
ata1: dev 0 configured for UDMA/100
ata2: dev 0 ATA, max UDMA/133, 240121728 sectors
ata2: dev 0 configured for UDMA/100
scsi0 : ata_piix
scsi1 : ata_piix
Vendor: ATA Model: Maxtor 6Y120M0 Rev: 0.51 Type: Direct-Access ANSI SCSI revision: 05 Vendor: ATA Model: Maxtor 6Y120M0 Rev: 0.51 Type: Direct-Access ANSI SCSI revision: 05
libata version 0.51 loaded.
The difference between our systems is that i have a I865PE board with ICH5 controller and he has a I875P board with ICH5 controller. Both of us are running
a mix of PATA and SATA drives and use SMP enabled kernels. Jeff has 2 SATA drives i have only one (i hope that's not the problem).
I have tried to use the following kernels (smp support enabled) with enhanced
SATA enabled in BIOS:
2.4.20-gentoo-patched: not working at all
2.4.21: works but does not detect "second cpu"
2.4.21-ac4: hangs, detects smp
2.4.22-pre3: works but does not detect "second cpu" 2.4.22-pre3-ac1: does not compile (undefined reference to `xapic_support') 2.5.74: works, detects smp - but no onboard Gbit NIC driver or nvidia driver
available
Using 2.4.21-ac4 without smp support, the scsi SATA driver works (as shown above), the machine boots and accesses the SATA disk on /dev/sda. As I need SMP support for improved compile times (has high priority on gentoo systems ;-)) I currently run a 2.4.21-ac4 smp-kernel with legacy (compatible) SATA mode enabled in BIOS. I'd like to use SATA in enhanced mode, so I'm asking for some hints what to try to get SATA _and_ SMP working. A 2.5 series kernel
is currently no option for me as i have no NIC and nvidia driver for it. Unpatched kernels don't detect my AGP controller correctly and seem to have problems detecting P4 HT cpus as "smp" system...
Conclusion: I think the problem is related to SMP and my chipset somehow, if
anybody can prove that, i might be able to return my mobo and only pay up for
a I875 based board in return. If it's not the chipset then there's a problem with
the driver it think - a wild guess from me would be that there's a thread locking/starvation problem when the sata devices are checked ('thread exited'
is mentioned on uniproc-boot, smp-boot doesn't get that far?)
Thanks in advance for any help or hints, i'm not on the list please put me on CC
when answering.
Mike
Signature · 3 lines
+++ GMX - Mail, Messaging & more http://www.gmx.net +++ Jetzt ein- oder umsteigen und USB-Speicheruhr als Prämie sichern!
Quoted 1 line · [email protected] wrote:
When I am booting with kernel-2.4.21-ac4-smp the system hangs. Here are the last three lines of output:
[...]
Quoted 1 line
When I am booting 2.4.21-ac4 in uniprocessor mode output looks like:
[...]
Quoted 1 line
Conclusion: I think the problem is related to SMP and my chipset somehow, if
It sounds like an SMP-related bug in my libata driver. I very much doubt it is a chipset problem. I'll take a look this weekend, I have the hardware to reproduce.
Bug me if you don't hear anything after a couple days.
Thanks much for the report,
Jeff
In article <[email protected]>,
Quoted 4 lines · Jeff Garzik
Quoted 2 lines · [email protected] wrote:
When I am booting with kernel-2.4.21-ac4-smp the system hangs. Here are the last three lines of output:
[...]
Quoted 8 lines
Quoted 1 line
When I am booting 2.4.21-ac4 in uniprocessor mode output looks like:
[...]
Quoted 1 line
Conclusion: I think the problem is related to SMP and my chipset somehow, if
It sounds like an SMP-related bug in my libata driver. I very much doubt it is a chipset problem. I'll take a look this weekend, I have the hardware to reproduce.
FWIW, on a P4/3GHz system with Intel SATA, 2.4.21-vanilla:
Linux version 2.4.21 (root@wormhole)
CPU0: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 09
CPU1: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 09 Total of 2 processors activated (11979.98 BogoMIPS).
(this is hyperthreading)
ICH5-SATA: IDE controller at PCI slot 00:1f.2
ICH5-SATA: chipset revision 2
ICH5-SATA: not 100%% native mode: will probe irqs later
ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:DMAhda: Maxtor 6Y080L0, ATA DISK drive
blk: queue c0324f00, I/O limit 4095Mb (mask 0xffffffff)
hdc: Maxtor 6Y080M0, ATA DISK drive
hdd: Maxtor 6Y080M0, ATA DISK drive
blk: queue c0325374, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03254c0, I/O limit 4095Mb (mask 0xffffffff) ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
.. works fine. But it's now running 2.5.74-mm3 (also OK).
Mike.
Quoted 1 line · Miquel van Smoorenburg
.. works fine. But it's now running 2.5.74-mm3 (also OK).
Same here. i865PE chipset, works with or w/o HT, single drive or two drives. Interestingly, I also have Maxtor drives.
MikaL