Re: SMP+nosmp=hang [was: Re: 2.6.15-rc5-mm2]

Randy.Dunlap
2006-01-22T00:21:59Z

On Sun, 22 Jan 2006 00:46:36 +0100 J.A. Magallon wrote:

> On Fri, 20 Jan 2006 19:22:59 -0800, Andrew Morton <akpm@osdl.org> wrote:
>
> > "J.A. Magallon" <jamagallon@able.es> wrote:
> > >
> > > On Sun, 11 Dec 2005 04:13:08 -0800, Andrew Morton <akpm@osdl.org> wrote:
> > >
> > > >
> > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.15-rc5/2.6.15-rc5-mm2/
> > > >
> > >
> > > Booting a SMP built kernel with 'nosmp' just hangs at the VFS layer, with
> > > the message about 'not being able to find root device sda1'.
> > > sda is a SATA drive on an Intel ICH5 controller:
> > >
> > > libata version 1.20 loaded.
> > > ata_piix 0000:00:1f.2: version 1.05
> > > ACPI: PCI Interrupt 0000:00:1f.2[A] -> GSI 18 (level, low) -> IRQ 16
> > > PCI: Setting latency timer of device 0000:00:1f.2 to 64
> > > ata1: SATA max UDMA/133 cmd 0xC000 ctl 0xC402 bmdma 0xD000 irq 16
> > > ata2: SATA max UDMA/133 cmd 0xC800 ctl 0xCC02 bmdma 0xD008 irq 16
> > > ata1: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4003 85:3469 86:3c01 87:4003 88:407f
> > > ata1: dev 0 ATA-6, max UDMA/133, 390721968 sectors: LBA48
> > > ata1: dev 0 configured for UDMA/133
> > > scsi0 : ata_piix
> > > ATA: abnormal status 0x7F on port 0xC807
> > > scsi1 : ata_piix
> > > Vendor: ATA Model: ST3200822AS Rev: 3.01
> > > Type: Direct-Access ANSI SCSI revision: 05
> > > SCSI device sda: 390721968 512-byte hdwr sectors (200050 MB)
> > > SCSI device sda: drive cache: write back
> > > SCSI device sda: 390721968 512-byte hdwr sectors (200050 MB)
> > > SCSI device sda: drive cache: write back
> > > sda: sda1 sda2 sda3
> > > sd 0:0:0:0: Attached scsi disk sda
> > >
> > > I would have to double check, but I think it even missed the USB keyboard.
> > >
> >
> > Is this still happening?
>
> Yes. I have just tried with 2.6.16-rc1-mm2, and the result is the same.
> No root device.
>
> The nosmp-booted kernel looks much much slow than the SMP one, it takes
> ages to detect devices like usb ones, and even spent about 20 seconds here:
>
> [ 0.431601] libata version 1.20 loaded.
> [ 0.431652] ata_piix 0000:00:1f.2: version 1.05
> [ 0.431670] ACPI: PCI Interrupt 0000:00:1f.2[A] -> GSI 18 (level, low) -> IRQ 16
> [ 0.431792] PCI: Setting latency timer of device 0000:00:1f.2 to 64
> [ 0.431852] ata1: SATA max UDMA/133 cmd 0xC000 ctl 0xC402 bmdma 0xD000 irq 16
> [ 0.431950] ata2: SATA max UDMA/133 cmd 0xC800 ctl 0xCC02 bmdma 0xD008 irq 16
> >>>>>>>>>>>>> here <<<<<<<<<<<<<<<<<<
> [ 0.690451] ata1: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4003 85:3469 86:3c01 87:4003 88:407f
> [ 0.690456] ata1: dev 0 ATA-6, max UDMA/133, 390721968 sectors: LBA48
> [ 0.696278] ata1: dev 0 configured for UDMA/133
> [ 0.701627] scsi0 : ata_piix
> [ 1.937443] scsi1 : ata_piix
>
> and it did not detect any drive, so the no-root-device error. This one can be
> a detection timeout, but as I say also the USB detection is dog slooow.
>
> Need some info ? .config, or the like ?

Hi,
I've been testing this also. I also see the problem.
I don't yet know what to do about it, but it's easy to
reproduce. I'll continue to look at it.

For a temporary workaround, booting with "irqpoll" might help,
but that's not the real solution IMO.

---
~Randy