When CONFIG_X86_X2APIC is set, the machine in question (Lenovo W520) will lock up during early stages of system boot. Machine suddenly becomes completely unresponsive and no further diagnostics can be obtained. Kernel boots correctly until root file system is mounted and udev starts its "settle" phase, loading the modules for pending uevents. There seems to be no correlation between the modules being loaded and the lock up event occurring, yet it always happens during this stage. 11.716922 udevd[133]: Starting version xxx (here it hangs often) If X2APIC is disabled by setting the nox2apic kernel option, everything works fine. When the VT-d is disabled in the BIOS (version 1.36) things also become stable. See also Bug 34262 for 2.6.x kernels.
Sounds like a classic BIOS bug. This should be reported to Lenovo, and probably we should blacklist x2APIC on this machine. What does "dmidecode" show?
See also http://forums.lenovo.com/t5/Linux-Discussion/W520-Debian-64-bit-Testing-VT-enabled/td-p/671621, comment from Mark_Lenovo # dmidecode # dmidecode 2.11 SMBIOS 2.6 present. 72 structures occupying 2723 bytes. Table at 0xBF69C000. Handle 0x0000, DMI type 134, 16 bytes OEM-specific Type Header and Data: 86 10 00 00 00 53 54 4D 20 01 01 00 00 02 01 02 Strings: TPM INFO System Reserved Handle 0x0001, DMI type 4, 42 bytes Processor Information Socket Designation: CPU Type: Central Processor Family: Core i7 Manufacturer: Intel(R) Corporation ID: A7 06 02 00 FF FB EB BF Signature: Type 0, Family 6, Model 42, Stepping 7 Flags: FPU (Floating-point unit on-chip) VME (Virtual mode extension) DE (Debugging extension) PSE (Page size extension) TSC (Time stamp counter) MSR (Model specific registers) PAE (Physical address extension) MCE (Machine check exception) CX8 (CMPXCHG8 instruction supported) APIC (On-chip APIC hardware supported) SEP (Fast system call) MTRR (Memory type range registers) PGE (Page global enable) MCA (Machine check architecture) CMOV (Conditional move instruction supported) PAT (Page attribute table) PSE-36 (36-bit page size extension) CLFSH (CLFLUSH instruction supported) DS (Debug store) ACPI (ACPI supported) MMX (MMX technology supported) FXSR (FXSAVE and FXSTOR instructions supported) SSE (Streaming SIMD extensions) SSE2 (Streaming SIMD extensions 2) SS (Self-snoop) HTT (Multi-threading) TM (Thermal monitor supported) PBE (Pending break enabled) Version: Intel(R) Core(TM) i7-2760QM CPU @ 2.40GHz Voltage: 1.2 V External Clock: 100 MHz Max Speed: 2400 MHz Current Speed: 2400 MHz Status: Populated, Enabled Upgrade: ZIF Socket L1 Cache Handle: 0x0002 L2 Cache Handle: 0x0003 L3 Cache Handle: 0x0004 Serial Number: Not Supported by CPU Asset Tag: None Part Number: None Core Count: 4 Core Enabled: 4 Thread Count: 8 Characteristics: 64-bit capable Handle 0x0002, DMI type 7, 19 bytes Cache Information Socket Designation: L1-Cache Configuration: Enabled, Not Socketed, Level 1 Operational Mode: Write Through Location: Internal Installed Size: 64 kB Maximum Size: 64 kB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Single-bit ECC System Type: Data Associativity: 8-way Set-associative Handle 0x0003, DMI type 7, 19 bytes Cache Information Socket Designation: L2-Cache Configuration: Enabled, Not Socketed, Level 2 Operational Mode: Write Through Location: Internal Installed Size: 256 kB Maximum Size: 256 kB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Single-bit ECC System Type: Data Associativity: 8-way Set-associative Handle 0x0004, DMI type 7, 19 bytes Cache Information Socket Designation: L3-Cache Configuration: Enabled, Not Socketed, Level 3 Operational Mode: Write Back Location: Internal Installed Size: 6144 kB Maximum Size: 6144 kB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Single-bit ECC System Type: Unified Associativity: 12-way Set-associative Handle 0x0005, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 32 GB Error Information Handle: Not Provided Number Of Devices: 4 Handle 0x0006, DMI type 17, 28 bytes Memory Device Array Handle: 0x0005 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: SODIMM Set: None Locator: ChannelA-DIMM0 Bank Locator: BANK 0 Type: DDR3 Type Detail: Synchronous Speed: 1333 MHz Manufacturer: Samsung Serial Number: 0055F9CE Asset Tag: 9876543210 Part Number: M471B5273CH0-CH9 Rank: Unknown Handle 0x0007, DMI type 17, 28 bytes Memory Device Array Handle: 0x0005 Error Information Handle: Not Provided Total Width: Unknown Data Width: Unknown Size: No Module Installed Form Factor: DIMM Set: None Locator: ChannelA-DIMM1 Bank Locator: BANK 1 Type: Unknown Type Detail: None Speed: Unknown Manufacturer: Not Specified Serial Number: Not Specified Asset Tag: 9876543210 Part Number: Not Specified Rank: Unknown Handle 0x0008, DMI type 17, 28 bytes Memory Device Array Handle: 0x0005 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: SODIMM Set: None Locator: ChannelB-DIMM0 Bank Locator: BANK 2 Type: DDR3 Type Detail: Synchronous Speed: 1333 MHz Manufacturer: Kingston Serial Number: 4F229C84 Asset Tag: 9876543210 Part Number: 9905428-051.A00LF Rank: Unknown Handle 0x0009, DMI type 17, 28 bytes Memory Device Array Handle: 0x0005 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: SODIMM Set: None Locator: ChannelB-DIMM1 Bank Locator: BANK 3 Type: DDR3 Type Detail: Synchronous Speed: 1333 MHz Manufacturer: Micron Serial Number: 3245F12E Asset Tag: 9876543210 Part Number: 8KTF25664HZ-1G4M1 Rank: Unknown Handle 0x000A, DMI type 20, 19 bytes Memory Device Mapped Address Starting Address: 0x00000000000 Ending Address: 0x000FFFFFFFF Range Size: 4 GB Physical Device Handle: 0x0006 Memory Array Mapped Address Handle: 0x000F Partition Row Position: 1 Interleave Position: 1 Interleaved Data Depth: 2 Handle 0x000B, DMI type 20, 19 bytes Memory Device Mapped Address Starting Address: 0x00000000000 Ending Address: 0x000FFFFFFFF Range Size: 4 GB Physical Device Handle: 0x0007 Memory Array Mapped Address Handle: 0x000F Partition Row Position: 1 Interleave Position: 2 Interleaved Data Depth: 2 Handle 0x000C, DMI type 20, 19 bytes Memory Device Mapped Address Starting Address: 0x00100000000 Ending Address: 0x0017FFFFFFF Range Size: 2 GB Physical Device Handle: 0x0008 Memory Array Mapped Address Handle: 0x000F Partition Row Position: 1 Handle 0x000D, DMI type 20, 19 bytes Memory Device Mapped Address Starting Address: 0x00180000000 Ending Address: 0x001FFFFFFFF Range Size: 2 GB Physical Device Handle: 0x0009 Memory Array Mapped Address Handle: 0x000F Partition Row Position: 1 Handle 0x000E, DMI type 20, 19 bytes Memory Device Mapped Address Starting Address: 0x00200000000 Ending Address: 0x0027FFFFFFF Range Size: 2 GB Physical Device Handle: 0x0006 Memory Array Mapped Address Handle: 0x000F Partition Row Position: 1 Handle 0x000F, DMI type 19, 15 bytes Memory Array Mapped Address Starting Address: 0x00000000000 Ending Address: 0x0027FFFFFFF Range Size: 10 GB Physical Array Handle: 0x0005 Partition Width: 4 Handle 0x0010, DMI type 129, 8 bytes OEM-specific Type Header and Data: 81 08 10 00 01 01 02 01 Strings: Intel_ASF Intel_ASF_001 Handle 0x0011, DMI type 130, 20 bytes OEM-specific Type Header and Data: 82 14 11 00 24 41 4D 54 01 01 01 01 01 A5 FF 03 00 00 01 00 Handle 0x0012, DMI type 131, 64 bytes OEM-specific Type Header and Data: 83 40 12 00 35 00 00 00 07 00 00 00 00 00 38 00 F8 00 4F 1C FF FF FF FF 09 E0 00 00 01 00 07 00 5F 04 14 00 00 00 00 00 C8 00 02 15 00 00 00 00 00 00 00 00 F6 00 00 00 76 50 72 6F 00 00 00 00 Handle 0x0013, DMI type 134, 13 bytes OEM-specific Type Header and Data: 86 0D 13 00 26 01 12 20 00 00 00 00 00 Handle 0x0014, DMI type 0, 24 bytes BIOS Information Vendor: LENOVO Version: 8BET56WW (1.36 ) Release Date: 01/19/2012 Address: 0xE0000 Runtime Size: 128 kB ROM Size: 8192 kB Characteristics: PCI is supported PNP is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported EDD is supported 3.5"/720 kB floppy services are supported (int 13h) Print screen service is supported (int 5h) 8042 keyboard services are supported (int 9h) Serial services are supported (int 14h) Printer services are supported (int 17h) CGA/mono video services are supported (int 10h) ACPI is supported USB legacy is supported BIOS boot specification is supported Targeted content distribution is supported BIOS Revision: 1.36 Firmware Revision: 1.32 Handle 0x0015, DMI type 1, 27 bytes System Information Manufacturer: LENOVO Product Name: 42844LG Version: ThinkPad W520 Serial Number: R9LD28A UUID: 272ECA01-5220-11CB-9F9F-E55E84DEDF9D Wake-up Type: Power Switch SKU Number: Not Specified Family: ThinkPad W520 Handle 0x0016, DMI type 2, 15 bytes Base Board Information Manufacturer: LENOVO Product Name: 42844LG Version: Not Available Serial Number: 1ZKBX2172LS Asset Tag: Not Available Features: Board is a hosting board Board is replaceable Location In Chassis: Not Available Chassis Handle: 0x0000 Type: Motherboard Contained Object Handles: 0 Handle 0x0017, DMI type 3, 21 bytes Chassis Information Manufacturer: LENOVO Type: Notebook Lock: Not Present Version: Not Available Serial Number: R9LD28A Asset Tag: No Asset Information Boot-up State: Unknown Power Supply State: Unknown Thermal State: Unknown Security Status: Unknown OEM Information: 0x00000000 Height: Unspecified Number Of Power Cords: Unspecified Contained Elements: 0 Handle 0x0018, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: External Monitor External Connector Type: DB-15 female Port Type: Video Port Handle 0x0019, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: DisplayPort External Connector Type: Other Port Type: Video Port Handle 0x001A, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: DisplayPort/DVI-D 1 External Connector Type: Other Port Type: Video Port Handle 0x001B, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: DisplayPort/DVI-D 2 External Connector Type: Other Port Type: Video Port Handle 0x001C, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: Headphone/Microphone Combo Jack External Connector Type: Mini Jack (headphones) Port Type: Audio Port Handle 0x001D, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: Headphone Jack External Connector Type: Mini Jack (headphones) Port Type: Audio Port Handle 0x001E, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: Microphone Jack External Connector Type: Mini Jack (headphones) Port Type: Audio Port Handle 0x001F, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: Ethernet External Connector Type: RJ-45 Port Type: Network Port Handle 0x0020, DMI type 126, 9 bytes Inactive Handle 0x0021, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: USB 1 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0022, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: USB 2 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0023, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: USB 3 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0024, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: USB/eSATA Combo External Connector Type: Other Port Type: Other Handle 0x0025, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: USB 5 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0026, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: USB 6 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0027, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: USB 7 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0028, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: USB 8 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0029, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: USB 9 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x002A, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: USB 10 External Connector Type: Access Bus (USB) Port Type: USB Handle 0x002B, DMI type 126, 9 bytes Inactive Handle 0x002C, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: Not Available Internal Connector Type: None External Reference Designator: eSATA External Connector Type: SAS/SATA Plug Receptacle Port Type: SATA Handle 0x002D, DMI type 9, 17 bytes System Slot Information Designation: ExpressCard Slot Type: x1 PCI Express Current Usage: Available Length: Other ID: 1 Characteristics: Hot-plug devices are supported Bus Address: 0000:00:00.0 Handle 0x002E, DMI type 9, 17 bytes System Slot Information Designation: Media Card Slot Type: Other Current Usage: Available Length: Other Characteristics: Hot-plug devices are supported Bus Address: 0000:00:00.0 Handle 0x002F, DMI type 9, 17 bytes System Slot Information Designation: SmartCard Slot Type: Other Current Usage: Available Length: Other Characteristics: Hot-plug devices are supported Bus Address: 0000:00:00.0 Handle 0x0030, DMI type 10, 6 bytes On Board Device Information Type: Other Status: Disabled Description: IBM Embedded Security hardware Handle 0x0031, DMI type 12, 5 bytes System Configuration Options Handle 0x0032, DMI type 13, 22 bytes BIOS Language Information Language Description Format: Abbreviated Installable Languages: 1 en-US Currently Installed Language: en-US Handle 0x0033, DMI type 22, 26 bytes Portable Battery Location: Rear Manufacturer: SANYO Name: 42T4799 Design Capacity: 93240 mWh Design Voltage: 11100 mV SBDS Version: 03.01 Maximum Error: Unknown SBDS Serial Number: 1494 SBDS Manufacture Date: 2011-12-11 SBDS Chemistry: LION OEM-specific Information: 0x00000000 Handle 0x0034, DMI type 126, 26 bytes Inactive Handle 0x0035, DMI type 18, 23 bytes 32-bit Memory Error Information Type: OK Granularity: Unknown Operation: Unknown Vendor Syndrome: Unknown Memory Array Address: Unknown Device Address: Unknown Resolution: Unknown Handle 0x0036, DMI type 21, 7 bytes Built-in Pointing Device Type: Track Point Interface: PS/2 Buttons: 3 Handle 0x0037, DMI type 21, 7 bytes Built-in Pointing Device Type: Touch Pad Interface: PS/2 Buttons: 2 Handle 0x0038, DMI type 131, 22 bytes OEM-specific Type Header and Data: 83 16 38 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 Strings: TVT-Enablement Handle 0x0039, DMI type 136, 6 bytes OEM-specific Type Header and Data: 88 06 39 00 5A 5A Handle 0x003A, DMI type 135, 74 bytes OEM-specific Type Header and Data: 87 4A 3A 00 54 50 07 02 42 41 59 20 49 2F 4F 20 02 00 06 FF 00 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 06 00 02 01 03 03 FF Handle 0x003B, DMI type 133, 5 bytes OEM-specific Type Header and Data: 85 05 3B 00 01 Strings: KHOIHGIUCCHHII Handle 0x003C, DMI type 140, 19 bytes OEM-specific Type Header and Data: 8C 13 3C 00 4C 45 4E 4F 56 4F 0B 05 01 07 00 00 00 00 00 Handle 0x003D, DMI type 140, 23 bytes OEM-specific Type Header and Data: 8C 17 3D 00 4C 45 4E 4F 56 4F 0B 06 01 7E 14 00 00 00 00 00 00 00 00 Handle 0x003E, DMI type 15, 29 bytes System Event Log Area Length: 66 bytes Header Start Offset: 0x0000 Header Length: 16 bytes Data Start Offset: 0x0010 Access Method: General-purpose non-volatile data functions Access Address: 0x00F0 Status: Valid, Not Full Change Token: 0x00000003 Header Format: Type 1 Supported Log Type Descriptors: 3 Descriptor 1: POST error Data Format 1: POST results bitmap Descriptor 2: Single-bit ECC memory error Data Format 2: Multiple-event Descriptor 3: Multi-bit ECC memory error Data Format 3: Multiple-event Handle 0x003F, DMI type 140, 67 bytes OEM-specific Type Header and Data: 8C 43 3F 00 4C 45 4E 4F 56 4F 0B 00 01 CA 4E 88 A5 E8 6B 80 3D B2 F2 29 3A 16 A7 A7 D3 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Handle 0x0040, DMI type 140, 47 bytes OEM-specific Type Header and Data: 8C 2F 40 00 4C 45 4E 4F 56 4F 0B 01 01 09 00 08 64 32 8D 31 6C 7E C6 7B 00 3A 8E 6E CE 4F 17 00 00 00 00 10 00 10 00 10 01 D0 00 20 01 00 01 Handle 0x0041, DMI type 140, 63 bytes OEM-specific Type Header and Data: 8C 3F 41 00 4C 45 4E 4F 56 4F 0B 02 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Handle 0x0042, DMI type 140, 17 bytes OEM-specific Type Header and Data: 8C 11 42 00 4C 45 4E 4F 56 4F 0B 03 01 00 00 00 00 Handle 0x0043, DMI type 140, 19 bytes OEM-specific Type Header and Data: 8C 13 43 00 4C 45 4E 4F 56 4F 0B 04 01 B2 00 4D 53 20 00 Handle 0x0044, DMI type 24, 5 bytes Hardware Security Power-On Password Status: Disabled Keyboard Password Status: Not Implemented Administrator Password Status: Disabled Front Panel Reset Status: Not Implemented Handle 0x0045, DMI type 132, 7 bytes OEM-specific Type Header and Data: 84 07 45 00 01 D8 36 Handle 0x0046, DMI type 135, 18 bytes OEM-specific Type Header and Data: 87 12 46 00 54 50 07 01 01 C9 01 00 00 00 00 00 00 00 Handle 0xFEFF, DMI type 127, 4 bytes End Of Table
tried current kernel on my T420, vt-d, x2apic, irq-remapping, dmar all works well. Only thing noticed is pciehp can not get loaded because BIOS does not turn over control with _OSC about pcie cap control. [ 1.893742] pci0000:00: Requesting ACPI _OSC control (0x1d) [ 1.900990] pci0000:00: ACPI _OSC request failed (AE_SUPPORT), returned control mask: 0x0d [ 1.901069] ACPI _OSC control for PCIe not granted, disabling ASPM ... [ 2.466942] calling pcied_init+0x0/0xb0 @ 1 [ 2.467042] bus: 'pci_express': add driver pciehp_dummy [ 2.467419] bus: 'pci_express': remove driver pciehp_dummy [ 2.467662] driver: 'pciehp_dummy': driver_release [ 2.467729] bus: 'pci_express': add driver pciehp [ 2.467993] pciehp: pcie_port_service_register = 0 [ 2.468055] pciehp: PCI Express Hot Plug Controller Driver version: 0.4 [ 2.468121] initcall pcied_init+0x0/0xb0 returned 0 after 1094 usecs ... [ 2.469616] calling acpiphp_init+0x0/0x2b @ 1 [ 2.469676] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 [ 2.469741] add_bridge is called for \_SB_.PCI0 ffff8802138e84b0 [ 2.470374] acpiphp_glue: found PCI-to-PCI bridge at PCI 0000:00:1c.3 [ 2.472364] acpiphp_glue: found ACPI PCI Hotplug slot 1 at PCI 0000:05:00 [ 2.472588] pci_bus 0000:05: dev 00, created physical slot 1 [ 2.472980] pci_hotplug: __pci_hp_register: Added slot 1 to the list [ 2.473045] acpiphp: Slot [1] registered [ 2.473741] initcall acpiphp_init+0x0/0x2b returned 0 after 3976 usecs
Please check if you can bios 1.37 for your laptop.
as soon as it becomes available ;)
So from the descriptions above, it sounds like the Lenovo BIOS SMI handling is not supporting x2apic mode. Will post a kernel patch to blacklist x2apic enabling on this system, once I figure out what I need to use for the blacklist. It looks like even some (not all) T420's are affected.
I'm fairly certain I'm seeing this bug on Ubuntu "quantal", kernel package 3.4.0-3-generic (x86_64). Since the 3.4 release candidates started landing in the Ubuntu repos, I had fairly consistent boot hangs on my Thinkpad T500. I've just disabled VT-d in my BIOS and so far two out of two boots succeeded. I have the latest available BIOS installed (3.24, from December 2011).
I'm experiencing the same thing on a Lenovo Thinkpad L520. I had previously thought it was a bug in any 3.2.x kernel or later because that's when I started having problems but 3.2.x and 3.3.x kernels are working now with CONFIG_X86_X2APIC=n. That option wasn't present in the Archlinux kernel configs before 3.2.0. Am I missing out on anything by not being able to enable x2apic? I'm using the latest BIOS (8GET39WW 1.16 4/3/2012).
*** Bug 34262 has been marked as a duplicate of this bug. ***
Confirmed to still be an issue on the W520 with bios 1.39, kernel 3.6.2. Current workarounds I have tried that work: 1) Use integrated graphics only 2) Use Optimus with bumblebee 3) Use 32-bit instead of 64-bit 4) Disable VT-D in the bios 5) intel_iommu=off
Please ignore the previous workarounds in comment 10. Only 1 Seems and 4 seem to work consistently.
Created attachment 84071 [details] dmesg from t420 that x2apic is working requested by suresh
Created attachment 84081 [details] dmidecode from t420 that x2apic is working requested by suresh
Created attachment 84091 [details] dmidecode from W520, x2apic prevents boot Attaching dmidecode output on my W520. W520 has not been able to boot since kernel 3.2 without nox2apic enabled.
Created attachment 84571 [details] dmesg with nox2apic dmesg on a system where x2apic fails boot
Created attachment 87261 [details] x86-apic-set-x2apic-blacklist-for-broken-SMI.patch Please try the attached the patch: 0001-x86-apic-set-x2apic-blacklist.patch Thanks -Youquan
From the looks of it it, it is specifically the combination of these Thinkpads with Nvidia discrete graphics that is causing problems, i.e. the problem is in the Nvidia-specific part of the BIOS. I don't know if there is any sane way to qualify this based on a PCI quirk or something like that, though.
On Mon, Nov 26, 2012 at 10:36 AM, <bugzilla-daemon@bugzilla.kernel.org> wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=43054 > > > > > > --- Comment #17 from H. Peter Anvin <hpa@zytor.com> 2012-11-26 18:36:17 --- > From the looks of it it, it is specifically the combination of these > Thinkpads > with Nvidia discrete graphics that is causing problems, i.e. the problem is > in > the Nvidia-specific part of the BIOS. I don't know if there is any sane way > to > qualify this based on a PCI quirk or something like that, though. could check that in arch/x86/kernel/early_quirks.c::early_quirks
Created attachment 88031 [details] 0001-x86-apic-Blacklist-x2apic-when-Nivida-graphics-enab.patch Set blacklist x2apic when Nivida graphics enabled on some platforms: like ThinkPad W520 and ThinkPad T420.
I do not add quirk at arch/x86/kernel/early_quirks.c::early_quirks, because we only need check the Nivida graphics enabled or not at when issued platform detected like ThinkPad W520 and ThinkPad T420 which have x2apic capability.
On Sat, Dec 1, 2012 at 4:38 AM, <bugzilla-daemon@bugzilla.kernel.org> wrote: > --- Comment #20 from Song Youquan <youquan.song@intel.com> 2012-12-01 > 12:38:26 --- > I do not add quirk at arch/x86/kernel/early_quirks.c::early_quirks, because > we > only need check the Nivida graphics enabled or not at when issued platform > detected like ThinkPad W520 and ThinkPad T420 which have x2apic capability. you should add one variable and quirk in early-quirk.c. when it detect nvidia card, set that variable. then use that variable later. instead of loop pci devices again .
Created attachment 88251 [details] x86,apic: Blacklist x2apic when Nvidia graphics enabled on some platforms
Update the patch in according to Yinghai's comments. Please reviewing. Thanks -Youquan
On Sun, Dec 2, 2012 at 9:33 PM, <bugzilla-daemon@bugzilla.kernel.org> wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=43054 > > > > > > --- Comment #24 from Song Youquan <youquan.song@intel.com> 2012-12-03 > 05:33:23 --- > Update the patch in according to Yinghai's comments. Please reviewing. can you use my patch at: http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=patch;h=de38757e964cfee20e6da1977572a2191d7f4aa0 at first one? then second patch will create one early_quirk to set early_found_nvidia_display_card. then third one will be use that early_found_nvidia_display_card?
(In reply to comment #17) > From the looks of it it, it is specifically the combination of these > Thinkpads > with Nvidia discrete graphics that is causing problems, i.e. the problem is > in > the Nvidia-specific part of the BIOS. This bug affects my laptop which doesn't have nvidia graphics. Thinkpad L520 with intel graphics only.
Created attachment 88371 [details] x86,apic: Blacklist x2APIC when nvidia graphics enabled on some platforms Rebased the patch on Yinghai's commit: http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=patch;h=de38757e964cfee20e6da1977572a2191d7f4aa0
On Mon, Dec 3, 2012 at 10:49 PM, <bugzilla-daemon@bugzilla.kernel.org> wrote: can you define early_found_nvidia_display_card in arch/x86/kernel/early_quirk.c? thus you can remove one #ifdef and later could resuse it in other case.
On Mon, Dec 3, 2012 at 11:20 AM, <bugzilla-daemon@bugzilla.kernel.org> wrote: > This bug affects my laptop which doesn't have nvidia graphics. Thinkpad L520 > with intel graphics only. interesting. Actually I checked one T520 with Nvidia graphics, it seems x2apic works well. Now it is very confusing now. my test: t420 without nvidia chipset, works with x2apic. t510 with nvidia chipset, works with x2apic.
BIOS versions?
T510 or T520? T510 is a completely different box...
Created attachment 88481 [details] x86-apic-Blacklist-x2APIC-on-some-platforms.patch x86,apic: Blacklist x2APIC on some platforms. Refer to bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/922037 T420 with Nvidia graphics: The BIOS version from: 83ET63WW(1.33) to 83ET72WW (1.42 ), the issue always shows. T420 without Nvidia graphics, the issue disappears. So blacklist x2apic on T420 only Nvidia graphics enabled. Thinkpad T520 with Nivida graphics and L520 without Nvidia graphics, both of them have the issue, so blacklist them for a simple solution.
Hi Yinghai, When will you push your patch to kernel? http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=patch;h=de38757e964cfee20e6da1977572a2191d7f4aa0? Can I submit the "x86,apic: Blacklist x2APIC on some platforms" patch? Thanks -Youquan
On Tue, Dec 11, 2012 at 1:34 AM, <bugzilla-daemon@bugzilla.kernel.org> wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=43054 > Can I submit the "x86,apic: Blacklist x2APIC on some platforms" patch? can you move declaring of extern int early_found_nvidia_display_card; to other .h instead of apic.h ? It does not look like belonging to apic.h Yinghai
Created attachment 88951 [details] x86-apic-Blacklist-x2APIC-on-some-platforms.patch Hi Yinghai, Thanks. Update in according to your comment. please reviewing. -Youquan
On Tue, Dec 11, 2012 at 10:52 PM, <bugzilla-daemon@bugzilla.kernel.org> wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=43054 > > > Song Youquan <youquan.song@intel.com> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Attachment #88481 [details]|0 |1 > is obsolete| | > > > > > --- Comment #35 from Song Youquan <youquan.song@intel.com> 2012-12-12 > 06:52:37 --- > Created an attachment (id=88951) > --> (https://bugzilla.kernel.org/attachment.cgi?id=88951) > x86-apic-Blacklist-x2APIC-on-some-platforms.patch > > Hi Yinghai, > > Thanks. > Update in according to your comment. please reviewing. > > -Youquan Please post that patch to the LKML with my Reviewed-by. Thanks
Thanks a lot Yinghai! I have just posted the patch to LKML. Thanks -Youquan
Hi Yinghai, Can you get your patch http://git.kernel.org/cgit/linux/kernel/git/yinghai/linux-yinghai.git/diff/?id=de38757e964cfee20e6da1977572a2191d7f4aa0 upstream and then take the x2APIC fix patch http://lkml.org/lkml/2012/12/18/1 to upstream. After that, we can close this bug. Thanks -Youquan
One additional solution seems to be to disable CSM in the UEFI configuration, without the additional need to specify 'nox2apic' or to disable VT-d. With CSM on, I otherwise observe the same issues reported above on my T430. Thus the following configurations work in my machine with discrete graphics: 1) CSM off 2) CSM on, 'nox2apic' kernel parameter 3) CSM on, VT-d off Unfortunately, the Lenovo Forums claim that CSM is required if you are dual-booting Windows 7 or lower on these ThinkPads, so turning it off may not be viable for everyone. For a pure Linux setup it's not required, though.
Created attachment 106481 [details] dmidecode of working T430 with CSM off, x2apic on
Created attachment 106491 [details] dmesg of working T430 with CSM off, x2apic on
I'm getting the same early boot hang with a Lenovo W530 on which I have VT-d enabled, and adding nox2apic to the commandline resolves the issue. This is not on a vanilla kernel, but I'm pretty sure that there is a problem with the W530 across all distros, so it seems the kernel should blacklist the W530 from using x2apic if Discrete Graphics are detected. At least for the current BIOS version (2.53) -- not sure if upgrading to the latest BIOS (2.59) will change anything. Steps to reproduce: 1. BIOS: - Configure for Discrete Graphics - Enable VT-x and VT-d under Security -> Virtualization 2. Use Nvidia driver 3. Configure kernel commandline *without* nox2apic 4. Boot Fedora 5. Early boot hang when udev becomes active, close to the likely unrelated "Could not configure common clock" message Boot hang is 100% reproducible with the S/W versions shown below. Option A to avoid boot hang (preferred): Steps as above, but add nox2apic to kernel commandline Option B to avoid boot hang: Steps as above, but disable VT-d in BIOS Digging further, I found the following related bugs, and infos [2] on the solution combining VT-x + VT-d with the nox2apic kernel parameter, which is preferable to disabling VT-d: [1] https://bugzilla.kernel.org/show_bug.cgi?id=43054 (this thread) [2] https://lkml.org/lkml/2011/5/23/196 [3] https://groups.google.com/forum/?fromgroups#!topic/fa.linux.kernel/iCAzjSyIHdI [4] http://forums.lenovo.com/t5/W-Series-ThinkPad-Laptops/W520-BIOS-Bug-Please-fix-or-comment-Lenovo/td-p/802085 [5] http://forums.lenovo.com/t5/Linux-Discussion/W520-Debian-64-bit-Testing-VT-enabled/td-p/671621 Installed BIOS, kernel and driver --------------------------------- # dmidecode -s bios-version && dmidecode -t11 G5ET93WW (2.53 ) # dmidecode 2.12 SMBIOS 2.7 present. (latest BIOS is 2.59, unclear from README if it's worth updating) # uname -r 3.15.10-201.fc20.x86_64 kmod-nvidia-3.15.10-201.fc20.x86_64-331.89-2.fc20.10.x86_64
(In reply to Fredy Neeser from comment #42) > I'm getting the same early boot hang with a Lenovo W530 on which I have VT-d > enabled, and adding nox2apic to the commandline resolves the issue. > ... > 2. Use Nvidia driver Have you tried nouveau? I'm also using a W530 with VT-x, VT-d, and discrete graphics without the nox2apic parameter and experiencing no issues with the nouveau driver. It does not seem to matter which UEFI/Legacy setting is chosen. I normally boot with UEFI only, with CSM support, but have tried all of the UEFI supporting options. # dmidecode -s bios-version && dmidecode -t11 G5ET97WW (2.57 ) # dmidecode 2.12 # SMBIOS entry point at 0xdf69e000 SMBIOS 2.7 present. # uname -r 3.16.3-1-ARCH
This affects W-530 as well. Adding nox2apic to grub config works around this. I'm using discrete mode with Nvidia blob, but nouveau has heat and performance issues still.
I'm running into exactly the same problem with a W530 using the nouveau driver, VT-d enable, and discrete graphics (obviously). I have to pass the nox2apic parameter or the system locks up, just as others have stated. $ sudo dmidecode -s bios-version && sudo dmidecode -t11 && uname -r G5ET99WW (2.59 ) # dmidecode 2.12 # SMBIOS entry point at 0xdf69e000 SMBIOS 2.7 present. What is necessary to get the quirk included in the mainline kernel? 4.0.4-2-ARCH
I can confirm that disabling CSM allows for the removal of the nox2apic parameter on the W530 even with both VT-d and discrete graphics enabled.