2003-06-13 04:43:56

by Michael Frank

[permalink] [raw]
Subject: 2.4.21-rc7 hang on boot after spurious 8259A interrupt: IRQ15.

Doing swsusp testing in endless loop. On a P4/2.4G (ACPI=off)
on 192nd boot:

spurious 8259A interrupt: IRQ15.
Calibrating delay loop...

hang

Hit Reset and it rebooted OK

This is the first spurious 8259A interrupt: IRQ15 seen.

I see spurious 8259A interrupt: IRQ7 quite frequently on
varying hardware on both 2.4 and 2.5.

By design, the 8259A delivers a vector 7 when the IRQ
line is deasserted before the IRQ is serviced. This
applies to both edge and level trigger modes. A floating
"wire" or crapy chipset can pickup noise, but the driver
should handle it.

No problems seen with mainboard/cpu/ram in three months.
I dont' think it is HW, but it could be.

Also, spurious 8259A interrupts are quite recent, could
something be wrong with recent 8259A driver?

Regards
Michael

I am not subscribed, pls cc me

--
Powered by linux-2.5.70-mm3, compiled with gcc-2.95-3

My current linux related activities in rough order of priority:
- Testing of 2.4/2.5 kernel interactivity
- Testing of Swsusp for 2.4
- Testing of Opera 7.11 emphasizing interactivity
- Research of NFS i/o errors during transfer 2.4>2.5
- Learning 2.5 series kernel debugging with kgdb - it's in the -mm tree
- Studying 2.5 series serial and ide drivers, ACPI, S3
* Input and feedback is always welcome *



2003-06-13 19:34:52

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: 2.4.21-rc7 hang on boot after spurious 8259A interrupt: IRQ15.

On Fri, Jun 13, 2003 at 11:36:36AM +0800, Michael Frank wrote:

> Doing swsusp testing in endless loop. On a P4/2.4G (ACPI=off)
> on 192nd boot:
>
> spurious 8259A interrupt: IRQ15.
> Calibrating delay loop...

It looks like the IDE code didn't put the controller into sleep
properly.

> hang
>
> Hit Reset and it rebooted OK
>
> This is the first spurious 8259A interrupt: IRQ15 seen.
>
> I see spurious 8259A interrupt: IRQ7 quite frequently on
> varying hardware on both 2.4 and 2.5.
>
> By design, the 8259A delivers a vector 7 when the IRQ
> line is deasserted before the IRQ is serviced. This
> applies to both edge and level trigger modes. A floating
> "wire" or crapy chipset can pickup noise, but the driver
> should handle it.
>
> No problems seen with mainboard/cpu/ram in three months.
> I dont' think it is HW, but it could be.
>
> Also, spurious 8259A interrupts are quite recent, could
> something be wrong with recent 8259A driver?
>
> Regards
> Michael
>
> I am not subscribed, pls cc me
>
> --
> Powered by linux-2.5.70-mm3, compiled with gcc-2.95-3
>
> My current linux related activities in rough order of priority:
> - Testing of 2.4/2.5 kernel interactivity
> - Testing of Swsusp for 2.4
> - Testing of Opera 7.11 emphasizing interactivity
> - Research of NFS i/o errors during transfer 2.4>2.5
> - Learning 2.5 series kernel debugging with kgdb - it's in the -mm tree
> - Studying 2.5 series serial and ide drivers, ACPI, S3
> * Input and feedback is always welcome *
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
Vojtech Pavlik
SuSE Labs, SuSE CR

2003-06-14 03:15:20

by Michael Frank

[permalink] [raw]
Subject: Re: 2.4.21-rc7 hang on boot after spurious 8259A interrupt: IRQ15.

On Saturday 14 June 2003 03:48, Vojtech Pavlik wrote:
> On Fri, Jun 13, 2003 at 11:36:36AM +0800, Michael Frank wrote:
> > Doing swsusp testing in endless loop. On a P4/2.4G (ACPI=off)
> > on 192nd boot:
> >
> > spurious 8259A interrupt: IRQ15.
> > Calibrating delay loop...
>
> It looks like the IDE code didn't put the controller into sleep
> properly.
>

Please don't get confused by swsusp being tested ;)

The system executes a regular boot from _reset_ at this stage.
swsusp takes over once the kernel is up and restores the
suspended kernel

IDE info:

Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
SIS5513: IDE controller at PCI slot 00:02.5
SIS5513: chipset revision 0
SIS5513: not 100% native mode: will probe irqs later
SiS651 ATA 133 controller
ide0: BM-DMA at 0x4000-0x4007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0x4008-0x400f, BIOS settings: hdc:pio, hdd:pio
hda: IC35L090AVV207-0, ATA DISK drive
blk: queue c031fd40, I/O limit 4095Mb (mask 0xffffffff)
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 160836480 sectors (82348 MB) w/1821KiB Cache, CHS=10011/255/63, UDMA(100)
Partition check:
hda: hda1 hda2 hda3 hda4

> > hang
> >
> > Hit Reset and it rebooted OK
> >
> > This is the first spurious 8259A interrupt: IRQ15 seen.
> >
> > I see spurious 8259A interrupt: IRQ7 quite frequently on
> > varying hardware on both 2.4 and 2.5.
> >
> > By design, the 8259A delivers a vector 7 when the IRQ
> > line is deasserted before the IRQ is serviced. This
> > applies to both edge and level trigger modes. A floating
> > "wire" or crapy chipset can pickup noise, but the driver
> > should handle it.
> >
> > No problems seen with mainboard/cpu/ram in three months.
> > I dont' think it is HW, but it could be.
> >
> > Also, spurious 8259A interrupts are quite recent, could
> > something be wrong with recent 8259A driver?
> >

Could it be that the kernel does not handle a spurious int at
this early stage in the boot process ?

Regards
Michael


--
Powered by linux-2.5.70-mm3, compiled with gcc-2.95-3

My current linux related activities in rough order of priority:
- Testing of Swsusp for 2.4
- Research of NFS i/o errors during transfer 2.4>2.5
- Learning 2.5 series kernel debugging with kgdb - it's in the -mm tree
- Studying 2.5 series serial and ide drivers, ACPI, S3
* Input and feedback is always welcome *

2003-06-14 08:06:40

by Alan

[permalink] [raw]
Subject: Re: 2.4.21-rc7 hang on boot after spurious 8259A interrupt: IRQ15.

> The system executes a regular boot from _reset_ at this stage.
> swsusp takes over once the kernel is up and restores the
> suspended kernel
> Could it be that the kernel does not handle a spurious int at
> this early stage in the boot process ?

It may also be BIOS SMI handling or reset handling problems as a
similar case a vendor investigated showed to be. The first thing is
to make life easier for the BIOS - make sure your kernel doesnt have
APIC support included

2003-06-14 08:44:01

by Michael Frank

[permalink] [raw]
Subject: Re: 2.4.21-rc7 hang on boot after spurious 8259A interrupt: IRQ15.

On Saturday 14 June 2003 16:17, Alan Cox wrote:
> > The system executes a regular boot from _reset_ at this stage.
> > swsusp takes over once the kernel is up and restores the
> > suspended kernel
> > Could it be that the kernel does not handle a spurious int at
> > this early stage in the boot process ?
>
> It may also be BIOS SMI handling or reset handling problems as a
> similar case a vendor investigated showed to be. The first thing is
> to make life easier for the BIOS - make sure your kernel doesnt have
> APIC support included

APIC is not in the kernel

I put

__asm__("int $0x2f");

before calibrate_delay and inside as well for testing.
spurious 8259A int15 was reported and up to 18000 counted in
/proc/interrupts, but no hang ;-)

I suppose have to settle for hardware/BIOS (IRQ misrouted/8259
init problem or timer not working) as the cause for the hang

Regards
Michael

--
Powered by linux-2.5.70-mm3, compiled with gcc-2.95-3

My current linux related activities in rough order of priority:
- Testing of Swsusp for 2.4
- Research of NFS i/o errors during transfer 2.4>2.5
- Learning 2.5 series kernel debugging with kgdb - it's in the -mm tree
- Studying 2.5 series serial and ide drivers, ACPI, S3
* Input and feedback is always welcome *