2009-12-19 16:17:25

by Vincent ETIENNE

[permalink] [raw]
Subject: Kernel 2.66.33-rC1 boot problem bisected to commit 99935a7a59eaca0292c1a5880e10bae03f4a5e3d



I am experiencing boot problem with kernel 2.6.33-rc1. Bisection points to

commit 99935a7a59eaca0292c1a5880e10bae03f4a5e3d
Author: Yinghai Lu <[email protected]>
Date: Sun Oct 4 21:54:24 2009 -0700

x86/PCI: read root resources from IOH on Intel

For intel systems with multi IOH, we should read peer root resources
directly from PCI config space, and don't trust _CRS.

Signed-off-by: Yinghai Lu <[email protected]>
Signed-off-by: Jesse Barnes <[email protected]>



V2.6.32 is OK

V2.6.33 is bad. A brief summary of the problem is that very quickly kernel (
less than 1.5 seconds) try to mount the root device without doing any probing
on disk leading to a kernel panic ( could not mount root devices). Alsa
devices and usb devices is also not detected / not probed. Maybe other devices
is also not detected but that just from the message seen on the monitor before
the panic so it's not very accurate (no log as it doesn't boot and only one
computer so no serial console). Sounds like the kernel didn't see any devices
(disk, usb, sounds).

I have a intel system so the commit log seems possibly relevant for the my
computer (Not sure of what is IOH, i have take it for I/O Hub in the lspci out
output and i have 3 of these according to lspci).

Have try to revert the commit on a 2.6.33_rc1 base but this lead to some
compilation problem (symbol not defined and so on). So I'm not completely sure
of my bisection (also note that it's the first time i use git so an error is
very possible).

Attached a dmesg log with kernel 2.6.32-rc8 and lspci -vvv output.

If you need further information/testing, i will my best to provide these.

Regards
Vincent ETIENNE













Attachments:
dmesg.log.bz2 (13.27 kB)
lspci.log.bz2 (5.02 kB)
Download all attachments

2009-12-19 21:38:26

by Yinghai Lu

[permalink] [raw]
Subject: Re: Kernel 2.66.33-rC1 boot problem bisected to commit 99935a7a59eaca0292c1a5880e10bae03f4a5e3d

Vincent ETIENNE wrote:
>
> I am experiencing boot problem with kernel 2.6.33-rc1. Bisection points to
>
> commit 99935a7a59eaca0292c1a5880e10bae03f4a5e3d
> Author: Yinghai Lu <[email protected]>
> Date: Sun Oct 4 21:54:24 2009 -0700
>
> x86/PCI: read root resources from IOH on Intel
>
> For intel systems with multi IOH, we should read peer root resources
> directly from PCI config space, and don't trust _CRS.
>
> Signed-off-by: Yinghai Lu <[email protected]>
> Signed-off-by: Jesse Barnes <[email protected]>
>
>
>
> V2.6.32 is OK
>
> V2.6.33 is bad. A brief summary of the problem is that very quickly kernel (
> less than 1.5 seconds) try to mount the root device without doing any probing
> on disk leading to a kernel panic ( could not mount root devices). Alsa
> devices and usb devices is also not detected / not probed. Maybe other devices
> is also not detected but that just from the message seen on the monitor before
> the panic so it's not very accurate (no log as it doesn't boot and only one
> computer so no serial console). Sounds like the kernel didn't see any devices
> (disk, usb, sounds).
>
> I have a intel system so the commit log seems possibly relevant for the my
> computer (Not sure of what is IOH, i have take it for I/O Hub in the lspci out
> output and i have 3 of these according to lspci).
>
> Have try to revert the commit on a 2.6.33_rc1 base but this lead to some
> compilation problem (symbol not defined and so on). So I'm not completely sure
> of my bisection (also note that it's the first time i use git so an error is
> very possible).
>
> Attached a dmesg log with kernel 2.6.32-rc8 and lspci -vvv output.
>
> If you need further information/testing, i will my best to provide these.

please check

Subject: [PATCH 1/7] x86/pci: intel ioh bus num reg accessing fix

it is above 0x100, so if mmconf is not enable, need to skip it

Reported-by: Jens Axboe <[email protected]>
Signed-off-by: Yinghai Lu <[email protected]>

---
arch/x86/pci/intel_bus.c | 4 ++++
1 file changed, 4 insertions(+)

Index: linux-2.6/arch/x86/pci/intel_bus.c
===================================================================
--- linux-2.6.orig/arch/x86/pci/intel_bus.c
+++ linux-2.6/arch/x86/pci/intel_bus.c
@@ -49,6 +49,10 @@ static void __devinit pci_root_bus_res(s
u64 mmioh_base, mmioh_end;
int bus_base, bus_end;

+ /* some sys doesn't get mmconf enabled */
+ if (dev->cfg_size < 0x200)
+ return;
+
if (pci_root_num >= PCI_ROOT_NR) {
printk(KERN_DEBUG "intel_bus.c: PCI_ROOT_NR is too small\n");
return;

2009-12-19 22:06:34

by Vincent ETIENNE

[permalink] [raw]
Subject: Re: Kernel 2.66.33-rC1 boot problem bisected to commit 99935a7a59eaca0292c1a5880e10bae03f4a5e3d

Le samedi 19 d?cembre 2009 22:37:05, Yinghai Lu a ?crit :
> Vincent ETIENNE wrote:
> > I am experiencing boot problem with kernel 2.6.33-rc1. Bisection points
> > to
> >
>
> please check
>
> Subject: [PATCH 1/7] x86/pci: intel ioh bus num reg accessing fix
>
> it is above 0x100, so if mmconf is not enable, need to skip it
>
> Reported-by: Jens Axboe <[email protected]>
> Signed-off-by: Yinghai Lu <[email protected]>
>
> ---
> arch/x86/pci/intel_bus.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> Index: linux-2.6/arch/x86/pci/intel_bus.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/pci/intel_bus.c
> +++ linux-2.6/arch/x86/pci/intel_bus.c
> @@ -49,6 +49,10 @@ static void __devinit pci_root_bus_res(s
> u64 mmioh_base, mmioh_end;
> int bus_base, bus_end;
>
> + /* some sys doesn't get mmconf enabled */
> + if (dev->cfg_size < 0x200)
> + return;
> +
> if (pci_root_num >= PCI_ROOT_NR) {
> printk(KERN_DEBUG "intel_bus.c: PCI_ROOT_NR is too small\n");
> return;
>

It works : v2.6;33_rc1 + your patch booot sucessfully on my machine
Thanks a lot

Vincent