Bug 7906 - boot hang unless "nolapic" - ASUS L3C/S laptop
Summary: boot hang unless "nolapic" - ASUS L3C/S laptop
Status: REJECTED WILL_NOT_FIX
Alias: None
Product: ACPI
Classification: Unclassified
Component: Config-Interrupts (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: acpi_power-processor
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-31 00:56 UTC by Martin Mokrejs
Modified: 2007-12-07 02:09 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.19.2
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
scree snapshot (111.70 KB, image/jpeg)
2007-01-31 01:05 UTC, Martin Mokrejs
Details
dmesg from buggy 2.6.19.2: system boots when no-lapic is added (20.83 KB, text/plain)
2007-02-01 04:11 UTC, Martin Mokrejs
Details
dmesg-no-lapic-no-ioapic.txt (15.04 KB, text/plain)
2007-10-22 06:33 UTC, Martin Mokrejs
Details
acpidump-no-lapic-no-ioapic.bin (97.41 KB, application/octet-stream)
2007-10-22 06:34 UTC, Martin Mokrejs
Details
lapic_and_ioapic.jpg (409.39 KB, image/jpeg)
2007-10-22 09:59 UTC, Martin Mokrejs
Details
dmesg26231-without-lapic-while-with-ioapic.txt (15.05 KB, text/plain)
2007-10-22 10:01 UTC, Martin Mokrejs
Details
dmesg26231-with-lapic-with-ioapic-acpioff.txt (15.79 KB, text/plain)
2007-10-22 10:52 UTC, Martin Mokrejs
Details
dmesg26231-with-lapic-with-ioapic-but-no-commandline-forced-lapic.txt (18.19 KB, text/plain)
2007-10-22 10:54 UTC, Martin Mokrejs
Details
.config (48.24 KB, text/plain)
2007-10-23 00:41 UTC, Martin Mokrejs
Details
dmesg26231-smp-while-lapic-no-forced.txt (18.28 KB, text/plain)
2007-10-23 03:14 UTC, Martin Mokrejs
Details
.config-smp (48.45 KB, text/plain)
2007-10-23 03:16 UTC, Martin Mokrejs
Details

Description Martin Mokrejs 2007-01-31 00:56:27 UTC
Most recent kernel where this bug did *NOT* occur:
Distribution: Gentoo
Hardware Environment: ASUS L3C/S laptop
Software Environment:
Problem Description:

Enabling the "Local APIC on uniprocessors" makes the laptop hang at the step of:

ACPI: Core revision 20060707
 tbxface-0107 [01] load_tables           : ACPI Tables successfully acquired
Parsing all Control Methods:
Table [DSDT](id 0005) - 761 Objects with 59 Devices 254 Methods 26 Regions
ACPI Namespace successfully loaded at root c175fc90
ACPI: setting ELCR to 0200 (from 0a28)
evxfevnt-0089 [02] enable                : Transition to ACPI mode successful
PM: Adding info for No Bus:platform
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xf0e40, last bus=2
PCI: Using configuration type 1
Setting up standard PCI resources
evgpeblk-0951 [04] ev_create_gpe_block   : GPE 00 to 0F [_GPE] 2 regs on int 0x9
evgpeblk-0951 [04] ev_create_gpe_block   : GPE 10 to 1F [_GPE] 2 regs on int 0x9
evgpeblk-1048 [03] ev_initialize_gpe_bloc: Found 6 Wake, Enabled 1 Runtime GPEs
in this block
evgpeblk-1048 [03] ev_initialize_gpe_bloc: Found 0 Wake, Enabled 3 Runtime GPEs
in this block
Completing Region/Field/Buffer/Package
initialization:..................................................................................
Initialized 26/26 Regions 0/0 Fields 23/23 Buffers 33/33 Packages (770 nodes)
Initializing Device/Processor/Thermal objects by executing _INI methods:.
------------------------------------------------------------------------^ here

I will attach the real image snapshot of the screen as the above output is from
the kernel without this feature (just in case it would differ).

It seems it does not matter whether in addition to the "Local APIC on
uniprocessors" option I also enable its suboption "IO-APIC on ..."



Steps to reproduce:

--- .config-bad-without-io-apic 2007-01-31 09:23:36.431989255 +0100
+++ .config-ok-without-io-apic_and_without-local-apic-on-uniprocessors 
2007-01-31 09:52:09.935027779 +0100
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.19.2
-# Wed Jan 31 08:56:43 2007
+# Wed Jan 31 09:24:32 2007
 #
 CONFIG_X86_32=y
 CONFIG_GENERIC_TIME=y
@@ -150,12 +150,9 @@
 CONFIG_PREEMPT_NONE=y
 # CONFIG_PREEMPT_VOLUNTARY is not set
 # CONFIG_PREEMPT is not set
-CONFIG_X86_UP_APIC=y
-# CONFIG_X86_UP_IOAPIC is not set
-CONFIG_X86_LOCAL_APIC=y
+# CONFIG_X86_UP_APIC is not set
 CONFIG_X86_MCE=y
 CONFIG_X86_MCE_NONFATAL=y
-# CONFIG_X86_MCE_P4THERMAL is not set
 CONFIG_VM86=y
 # CONFIG_TOSHIBA is not set
 # CONFIG_I8K is not set
@@ -2077,8 +2074,6 @@
 #
 # CONFIG_DEBUG_RODATA is not set
 # CONFIG_4KSTACKS is not set
-CONFIG_X86_FIND_SMP_CONFIG=y
-CONFIG_X86_MPPARSE=y
 CONFIG_DOUBLEFAULT=y
 
 #
Comment 1 Martin Mokrejs 2007-01-31 01:05:04 UTC
Created attachment 10235 [details]
scree snapshot

I see, the screen output was really different from the one I have pasted in the
original bugreport. But I am sure you got the clue at which step the kernel
hung.
Comment 2 Len Brown 2007-01-31 19:35:32 UTC
Is this a regression, or has this always failed?

Where any command line options used for the failing boot?
Does "nolapic" make the failing kernel boot?
If yes, please attach the resulting full dmesg.

If no, please build a CONFIG_SMP kernel (includes LAPIC and IOAPIC)
boot it on the machine and attach the full dmesg.
Comment 3 Martin Mokrejs 2007-02-01 04:11:30 UTC
Created attachment 10248 [details]
dmesg from buggy 2.6.19.2: system boots when no-lapic is added
Comment 4 Martin Mokrejs 2007-02-01 04:13:23 UTC
And, the SMP kernel does not boot. It again locks the system at the same stage
as originally reported.
Comment 5 Martin Mokrejs 2007-02-01 15:08:30 UTC
The bug exists in 2.6.18, earlier kernels were not tested (at least yet).
Comment 6 Martin Mokrejs 2007-02-01 15:46:40 UTC
With 2.6.17 I get a bit further ... I get 19 dots instead of just one as in
later kernels:

Initializing Device/Processor/Thermal objects by executing _INI methods:.
------------------------------------------------------------------------^ here
19 dots instead of just one before the machine locks up
Comment 7 Len Brown 2007-02-01 22:36:29 UTC
> With 2.6.17

hmmm, still broken -- see if you can go back further.

It isn't unusual for enabling an LAPIC on a uni-processor laptop
to cause all kinds of problems.  That is why the BIOS on
such machines generally disable them by default.

Unclear why this BIOS isn't disabling the LAPIC,
or why Linux isn't listening to it if it is.

here's a random suggestion, try "apm=off"
Comment 8 Martin Mokrejs 2007-02-02 01:22:40 UTC
BTW, see my older bugs related to this hardware: #1815, #1903.

I think I do remember discussion with Karol Kozimor (sziwan) who had the same
laptop telling me some years ago that the LAPIC is disabled by bios and even
enabling it it would not help on this piece of hardware. And I do believe it
started because the kernel did not boot with this option. ;)
Comment 9 Martin Mokrejs 2007-02-05 13:13:48 UTC
I had problems to compile older kernels because of some assembler issue although
I tried gcc-4.1.1 and 3.3.6. Anyway, 2.6.13 and 2.6.12.6 behave same as 2.6.17:
19 dots get printed out and then it hangs.
Comment 10 ykzhao 2007-10-08 07:02:23 UTC
Hi, Martin
Will you please check whether there exists an option for local apic or I/O apic?
If it exists, please enable it and then upload the info of acpidump. 
At the same time please build a CONFIG_SMP kernel (includes LAPIC and IOAPIC)
boot it on the machine and attach the full dmesg.
Thanks.
Comment 11 Martin Mokrejs 2007-10-22 06:33:46 UTC
Created attachment 13229 [details]
dmesg-no-lapic-no-ioapic.txt

2.6.23.1 without both Local APIC an IO-APIC.
Comment 12 Martin Mokrejs 2007-10-22 06:34:55 UTC
Created attachment 13230 [details]
acpidump-no-lapic-no-ioapic.bin
Comment 13 Martin Mokrejs 2007-10-22 09:59:30 UTC
Created attachment 13234 [details]
lapic_and_ioapic.jpg

The system does not boot when lapic and ioapic are enabled. I get the following hang, different from what I used to get in the past.
Comment 14 Martin Mokrejs 2007-10-22 10:01:02 UTC
Created attachment 13235 [details]
dmesg26231-without-lapic-while-with-ioapic.txt

To boot the non-functional kernel I passed "nolapic" kernel option.
Comment 15 Martin Mokrejs 2007-10-22 10:51:23 UTC
I went to increase the kernel log buffer size and enabled few more debugging options. However, it came to the kernel command line in grub.conf and fown I did have "lapic" on my kernel command line. That seems to have forced LAPIC to be turned on although it was disabled by the BIOS. Once enabled, it locked the computer.

So, the subject of this bug is for current kernels wrong. The kernel 2.6.23.1 does report the LAPIC is disabled and leaves it as it is, so the machine boots although LAPIC support is compiled into the kernel (from my initial report and comments I have the impression it did not work like this before).

So, I would name the bug now that forcing LAPIC formerly disabled by BIOS really hangs the machine, which is probably quite expected. I will attach the two kernel logs, compare the kernel command lines used (the same kernel with both IOAPIC and LAPIC enabled, and HIGHMEM). If you really want me to test also SMP (comment #10) please let me know.
Comment 16 Martin Mokrejs 2007-10-22 10:52:09 UTC
Created attachment 13236 [details]
dmesg26231-with-lapic-with-ioapic-acpioff.txt
Comment 17 Martin Mokrejs 2007-10-22 10:54:57 UTC
Created attachment 13237 [details]
dmesg26231-with-lapic-with-ioapic-but-no-commandline-forced-lapic.txt

See, unless I force lapic on kernel command line the machine boots up.

-Local APIC disabled by BIOS -- reenabling.
-Found and enabled local APIC!
-mapped APIC to ffffb000 (fee00000)
+Local APIC disabled by BIOS -- you can enable it with "lapic"
+mapped APIC to ffffb000 (01ecc000)
Comment 18 ykzhao 2007-10-22 18:34:47 UTC
Hi, Martin 
Thanks for your effort. 
Please retest the system using the latest stable kernel .For example, 2.6.23. (Enable SMP, Local APIC and I/O APIC in kernel configuration). 
Please confirm whether there is the option for Local apic and i/o APIC in BIOS settting. If it exists , please enable it. 
It is helpful that the file of  complete dmesg and .config is uploaded.
Comment 19 Martin Mokrejs 2007-10-23 00:41:03 UTC
Created attachment 13241 [details]
.config

Yesterday I have tested 2.6.23.1, and here is the .config file.
Comment 20 Martin Mokrejs 2007-10-23 03:14:57 UTC
Created attachment 13248 [details]
dmesg26231-smp-while-lapic-no-forced.txt

There are no ACPI options in the bios at all. I cannot turn on ACPI 2.0 as on many other ASUS motherboards, I cannot enable/disable Hyperthreading, just nothing except passwords, IDE master/slave controller and boot order.

The SMP+IOAPIC+APIC kernel boots fine unless I force "lapic" on kernel command line. In such a case it hangs with exactly same message as in #10235 attached image snapshot.

Here I attach the dmesg from the bootup when no "lapic" was present on kernel command line.
Comment 21 Martin Mokrejs 2007-10-23 03:16:08 UTC
Created attachment 13249 [details]
.config-smp

The SMP+IOAPIC+LAPIC enabled kernel config.
Comment 22 Fu Michael 2007-12-06 23:20:06 UTC
(In reply to comment #20)
> Created an attachment (id=13248) [details]
> dmesg26231-smp-while-lapic-no-forced.txt
> 
> There are no ACPI options in the bios at all. I cannot turn on ACPI 2.0 as on
> many other ASUS motherboards, I cannot enable/disable Hyperthreading, just
> nothing except passwords, IDE master/slave controller and boot order.
> 
> The SMP+IOAPIC+APIC kernel boots fine unless I force "lapic" on kernel
> command
> line. In such a case it hangs with exactly same message as in #10235 attached
> image snapshot.
> 
> Here I attach the dmesg from the bootup when no "lapic" was present on kernel
> command line.
> 

it sounds to me as the issue is gone. As Len said, forcing lapic in use on a machine where bios disabled lapic would cause some problem. So I will mark this bug as will_not_fix.. Please reopen if I misunderstand some where...
Comment 23 Martin Mokrejs 2007-12-07 02:09:07 UTC
I think I aggree that at least as of now it is a users fault forcing lapic on a lapic-disabled BIOS machine. ;)

Note You need to log in before you can comment on or make changes to this bug.