2.6-test11 : problem about irq18.
Quoted 5 lines · Raphaël Rigo
Dec 7 18:27:45 pici kernel: Disabling IRQ #18
I am using a P4 2.6 Ghz without HT activated 512 MB DDR PC3200 on an ASUS P4P800 Deluxe MB. HardDrive is on SATA (native mode) : Maxtor 6Y120MO.
Sounds like the known problem with an interrupt storm with the ICH5 See "Issue #2" at http://www.ussg.iu.edu/hypermail/linux/kernel/0312.0/0597.html
Quoted 1 line
2.4.23 doesn't have this problem but keeps using 30-50% CPU even if I do nothing.
Try vmstat, I expect you'll see ~100k IRQ/s
You could try using the ata_piix driver (located amongst the SCSI drivers).
If that still doesn't help, you could try adding the patch attached to drivers/scsi/libata-core.c this should make the ata_piix driver catch the spurious interrupts
Jon
libata-core.c renamed from libata-core.c-orig +32 -0
@@ -2386,6 +2386,37 @@ }/** +* ata_chk_spurious_int - Check for spurious interrupts +* @ap: port to which command is being issued +* +* Examines the DMA status registers and clears +* unexpected interrupts +* +* LOCKING: +*/ +static inline void ata_chk_spurious_int (struct ata_port *ap) { +int host_stat; + +if (ap->flags &ATA_FLAG_MMIO ) { +void *mmio = (void *) ap->ioaddr.bmdma_addr; + host_stat =readb (mmio +ATA_DMA_STATUS ); + }else + host_stat =inb (ap->ioaddr.bmdma_addr +ATA_DMA_STATUS ); + +if ((host_stat & (ATA_DMA_INTR |ATA_DMA_ERR |ATA_DMA_ACTIVE )) ==ATA_DMA_INTR ) { +if (ap->flags &ATA_FLAG_MMIO ) { +void *mmio = (void *) ap->ioaddr.bmdma_addr; +writeb (host_stat & ~ATA_DMA_ERR , mmio +ATA_DMA_STATUS ); + }else +outb (host_stat & ~ATA_DMA_ERR , ap->ioaddr.bmdma_addr +ATA_DMA_STATUS ); + +DPRINTK ("ata%u: Caught spurious interrupt, status 0x%X\n" , ap->id, host_stat); +udelay (1 ); + } +} + + +/** * ata_interrupt - * @irq: * @dev_instance:
@@ -2417,6 +2448,7 @@ qc =ata_qc_from_tag (ap, ap->active_tag);if (qc && ((qc->flags &ATA_QCFLAG_POLL ) ==0 )) handled +=ata_host_intr (ap, qc); +ata_chk_spurious_int (ap); } }
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
Re: [2.6.1-rc2] SATA problem.
In a previous email, Rigo sent me the following boot log + lspci info giving further details of the ICH5 in his setup.
The thing which looked most odd to me was that both controllers appear to be configured in native mode on IRQ 18 and for some reason this appears to give some trouble. In particular he was seeing an "unhandled interrupt" error on IRQ 18.
Enabling the sata_piix driver and disabling the ide_piix code was enough to get the machine to boot, but I don't know what the real cause of the problem.
Raphaël Rigo wrote in a previous email to me:
Quoted 43 lines
Here are the bootlog (of working boot, ask me if you need the one of the non working one because I must copy it by hand) and lspci -vvv
Dec 9 20:41:46 pici kernel: Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 Dec 9 20:41:46 pici kernel: ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx Dec 9 20:41:46 pici kernel: ide2: I/O resource 0x3EE-0x3EE not free. Dec 9 20:41:46 pici kernel: ide2: ports already in use, skipping probe Dec 9 20:41:46 pici kernel: libata version 0.81 loaded. Dec 9 20:41:46 pici kernel: ata_piix version 0.95 Dec 9 20:41:46 pici kernel: PCI: Setting latency timer of device 0000:00:1f.2 to 64 Dec 9 20:41:46 pici kernel: ata1: SATA max UDMA/133 cmd 0xEF88 ctl 0xEF86 bmdma 0xEE60 irq 18 Dec 9 20:41:46 pici kernel: ata2: SATA max UDMA/133 cmd 0xEF68 ctl 0xEF82 bmdma 0xEE68 irq 18 Dec 9 20:41:46 pici kernel: ata1: SATA port has no device. disabling. Dec 9 20:41:46 pici kernel: ata1: thread exiting Dec 9 20:41:46 pici kernel: scsi0 : ata_piix Dec 9 20:41:46 pici kernel: ata2: dev 0 cfg 49:2f00 82:7c6b 83:7b09 84:4003 85:7c49 86:3a01 87:4003 88:207f Dec 9 20:41:46 pici kernel: ata2: dev 0 ATA, max UDMA/133, 240121728 sectors Dec 9 20:41:46 pici kernel: ata2: dev 0 configured for UDMA/133 Dec 9 20:41:46 pici kernel: scsi1 : ata_piix Dec 9 20:41:46 pici kernel: Vendor: ATA Model: Maxtor 6Y120M0 Rev: 0.81 Dec 9 20:41:46 pici kernel: Type: Direct-Access ANSI SCSI revision: 05 Dec 9 20:41:46 pici kernel: SCSI device sda: 240121728 512-byte hdwr sectors (122942 MB) Dec 9 20:41:46 pici kernel: SCSI device sda: drive cache: write through Dec 9 20:41:46 pici kernel: sda: sda1 sda2 < sda5 sda6 sda7 sda8 > sda3 Dec 9 20:41:46 pici kernel: Attached scsi disk sda at scsi1, channel 0, id 0, lun 0 Dec 9 20:41:46 pici kernel: Attached scsi generic sg0 at scsi1, channel 0, id 0, lun 0, type 000:1f.1 IDE interface: Intel Corp.: Unknown device 24db (rev 02) (prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: Asustek Computer, Inc.: Unknown device 80a6
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at efe0 [size=8]
Region 1: I/O ports at efac [size=4]
Region 2: I/O ports at efa0 [size=8]
Region 3: I/O ports at efa8 [size=4]
Region 4: I/O ports at ef90 [size=16]
Region 5: Memory at 20000000 (32-bit, non-prefetchable) [size=1K]
Quoted 14 lines
00:1f.2 IDE interface: Intel Corp.: Unknown device 24d1 (rev 02) (prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: Asustek Computer, Inc.: Unknown device 80a6
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 18
Region 0: I/O ports at ef88 [size=8]
Region 1: I/O ports at ef84 [size=4]
Region 2: I/O ports at ef68 [size=8]
Region 3: I/O ports at ef80 [size=4]
Region 4: I/O ports at ee60 [size=16]
Jon
Re: [2.6.1-rc2] SATA problem.
FWIW my P4P 800 Deluxe w/ SATA and PATA drives works fine in 2.6. The trick for me was to configure "Enhanced Mode, SATA only" in the BIOS.
See http://www.hentges.net/howtos/p4p800_SATA.html for details.
HTH
Signature · 7 lines
Matthias Hentges Cologne / Germany [www.hentges.net] -> PGP welcome, HTML tolerated ICQ: 97 26 97 4 -> No files, no URL's My OS: Debian Woody. Geek by Nature, Linux by Choice
Re: [2.6.1-rc2] SATA problem.
Quoted 7 lines · Matthias Hentges
FWIW my P4P 800 Deluxe w/ SATA and PATA drives works fine in 2.6. The trick for me was to configure "Enhanced Mode, SATA only" in the BIOS.
See http://www.hentges.net/howtos/p4p800_SATA.html for details.
HTH
Thanks for the help... it is now (partially) working. But a fix in the kernel would be better :) (Maybe I should finally start to learn kernel coding) The partially is because i tried to burn a CD (with k3b without trying anything before) => complete freeze.
Raphaël RIGO.