Re: APM crashes when IO is going on

From: Mikulas Patocka
Date: Fri Mar 21 2008 - 20:29:59 EST




On Fri, 21 Mar 2008, Rafael J. Wysocki wrote:

> On Friday, 21 of March 2008, Mikulas Patocka wrote:
> > On Fri, 21 Mar 2008, Rafael J. Wysocki wrote:
> >
> > > On Friday, 21 of March 2008, Mikulas Patocka wrote:
> > > > > > I found another problem --- present in 2.6.23.1, 2.6.25rc3, 2.6.25rc6
> > > > > >
> > > > > > --- when I run three threads concurrently reading raw disk partition and
> > > > > > suspend, I get 100% reproducible failure. (with one thread running it
> > > > > > usually succeeds, sometimes fail)
> > > > >
> > > > > Are they userland threads or kernel threads?
> > > >
> > > > Useland threads. Just dd if=/dev/hda of=/dev/null
> > > >
> > > > > > Either the on-going I/O will jam BIOS and I need to remove power to
> > > > > > continue.
> > > > > >
> > > > > > Or the machine suspends, wakes up and reports "hda: lost interrupt"
> > > > > > (2.6.23.1 was able to recover from this condition, 2.6.25rc3,6 does not
> > > > > > recover and it is not able to send any more disk IOs).
> > > > > >
> > > > > > How is suspending disk IO supposed to work?
> > > > >
> > > > > That depends on the driver, if I understand your question correctly.
> > > >
> > > > The driver is normal IDE.
> > >
> > > Do you mean IDE_GENERIC/BLK_DEV_GENERIC?
> >
> > Compaq Triflex IDE. The computer is Compaq Armada 7400 (Pentium 2/300MHz)
>
> Can you attach a dmesg output taken after a fresh boot?
>
> Thanks,
> Rafael

Here it is.

MikulasLinux version 2.6.25-rc6 (root@gerlinda) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 PREEMPT Wed Mar 19 23:31:52 CET 2008
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 0000000007ff8000 (usable)
BIOS-e820: 0000000007ff8000 - 0000000008000000 (ACPI NVS)
127MB LOWMEM available.
Entering add_active_range(0, 0, 32760) 0 entries of 256 used
Zone PFN ranges:
DMA 0 -> 4096
Normal 4096 -> 32760
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0 -> 32760
On node 0 totalpages: 32760
DMA zone: 32 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 4064 pages, LIFO batch:0
Normal zone: 223 pages used for memmap
Normal zone: 28441 pages, LIFO batch:7
Movable zone: 0 pages used for memmap
DMI not present or invalid.
Allocating PCI resources starting at 10000000 (gap: 08000000:f8000000)
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32505
Kernel command line: BOOT_IMAGE=Linux-current ro root=302
Enabling fast FPU save and restore... done.
Initializing CPU#0
Preemptible RCU implementation.
CPU 0 irqstacks, hard=c033e000 soft=c033d000
PID hash table entries: 512 (order: 9, 2048 bytes)
Detected 300.014 MHz processor.
Console: colour VGA+ 80x30
console [tty0] enabled
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES: 8
... MAX_LOCK_DEPTH: 48
... MAX_LOCKDEP_KEYS: 2048
... CLASSHASH_SIZE: 1024
... MAX_LOCKDEP_ENTRIES: 8192
... MAX_LOCKDEP_CHAINS: 16384
... CHAINHASH_SIZE: 8192
memory used by lock dependency info: 992 kB
per task-struct memory footprint: 1920 bytes
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 125736k/131040k available (1438k kernel code, 4800k reserved, 692k data, 144k init, 0k highmem)
virtual kernel memory layout:
fixmap : 0xffffb000 - 0xfffff000 ( 16 kB)
vmalloc : 0xc8800000 - 0xffff9000 ( 887 MB)
lowmem : 0xc0000000 - 0xc7ff8000 ( 127 MB)
.init : 0xc0316000 - 0xc033a000 ( 144 kB)
.data : 0xc0267ba4 - 0xc0314ec8 ( 692 kB)
.text : 0xc0100000 - 0xc0267ba4 (1438 kB)
Checking if this processor honours the WP bit even in supervisor mode...Ok.
CPA: page pool initialized 1 of 1 pages preallocated
SLUB: Genslabs=12, HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
Calibrating delay using timer specific routine.. 601.14 BogoMIPS (lpj=1001831)
Mount-cache hash table entries: 512
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Compat vDSO mapped to ffffe000.
CPU: Intel Pentium II (Deschutes) stepping 02
Checking 'hlt' instruction... OK.
Freeing SMP alternatives: 0k freed
khelper used greatest stack depth: 3180 bytes left
net_namespace: 216 bytes
NET: Registered protocol family 16
PCI: Fatal: No config space access function found
Setting up standard PCI resources
khelper used greatest stack depth: 3116 bytes left
Linux Plug and Play Support v0.97 (c) Adam Belay
PCI: System does not support PCI
PCI: System does not support PCI
Time: tsc clocksource has been installed.
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 5, 131072 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
khelper used greatest stack depth: 3112 bytes left
io scheduler noop registered
io scheduler cfq registered (default)
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Uniform Multi-Platform E-IDE driver
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
hdb: CD-224E, ATAPI CD/DVD-ROM drive
hda: TOSHIBA MK6409MAV, ATA DISK drive
Probing IDE interface ide1...
Probing IDE interface ide2...
Probing IDE interface ide3...
Probing IDE interface ide4...
Probing IDE interface ide5...
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 128KiB
hda: 12685680 sectors (6495 MB), CHS=13424/15/63
hda: cache flushes not supported
hda: hda1 hda2
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
cpuidle: using governor ladder
cpuidle: using governor menu
TCP cubic registered
Using IPI Shortcut mode
input: AT Translated Set 2 keyboard as /class/input/input0
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 144k freed
Write protecting the kernel text: 1440k
Write protecting the kernel read-only data: 572k
modprobe used greatest stack depth: 2704 bytes left
modprobe used greatest stack depth: 1720 bytes left
NET: Registered protocol family 1
hotplug used greatest stack depth: 1392 bytes left
Real Time Clock Driver v1.12ac
device-mapper: ioctl: 4.13.0-ioctl (2007-10-18) initialised: dm-devel@xxxxxxxxxx
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
hdb: ATAPI 24X CD-ROM drive, 512kB Cache
Uniform CD-ROM driver Revision: 3.20
parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE,EPP]
NET3 PLIP version 2.4-parport gniibe@xxxxxxxxx
plip0: Parallel port at 0x378, using IRQ 7.
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
input: PC Speaker as /class/input/input1
input: PS/2 Generic Mouse as /class/input/input2
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A