2010-11-04 04:18:47

by Bjorn Helgaas

[permalink] [raw]
Subject: divide error in select_task_rq_fair()

Hi,

With current upstream, I see the following crash at boot-time:

Brought up 64 CPUs
Total of 64 processors activated (289366.52 BogoMIPS).
divide error: 0000 [#1] SMP
last sysfs file:
CPU 1
Modules linked in:

Pid: 2, comm: kthreadd Not tainted 2.6.37-rc1-00027-gff8b16d #271 /ProLiant DL980 G7
RIP: 0010:[<ffffffff81034645>] [<ffffffff81034645>] select_task_rq_fair+0x62a/0x7a0

Complete dmesg below; let me know if you need more info.

Bjorn


[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.37-rc1-00027-gff8b16d (helgaas@bob) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #271 SMP Wed Nov 3 19:18:12 MDT 2010
[ 0.000000] Command line: console=ttyS0,115200n8 ignore_loglevel printk.time=0 root=/dev/cciss/c0d1p1 BOOT_IMAGE=kernel
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 0000000000095400 (usable)
[ 0.000000] BIOS-e820: 0000000000095400 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000007f600000 (usable)
[ 0.000000] BIOS-e820: 000000007f600000 - 000000007f62c000 (ACPI data)
[ 0.000000] BIOS-e820: 000000007f62c000 - 000000007f62d000 (usable)
[ 0.000000] BIOS-e820: 000000007f62d000 - 000000007f79d000 (reserved)
[ 0.000000] BIOS-e820: 000000007f79d000 - 000000007f7a0000 (ACPI data)
[ 0.000000] BIOS-e820: 000000007f7a0000 - 0000000090000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fee10000 (reserved)
[ 0.000000] BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)
[ 0.000000] BIOS-e820: 0000000100000000 - 0000000480000000 (usable)
[ 0.000000] BIOS-e820: 0000002000000000 - 0000002400000000 (usable)
[ 0.000000] BIOS-e820: 0000004000000000 - 0000004400000000 (usable)
[ 0.000000] BIOS-e820: 0000006000000000 - 0000006400000000 (usable)
[ 0.000000] BIOS-e820: 0000008000000000 - 0000008200000000 (usable)
[ 0.000000] BIOS-e820: 000000a000000000 - 000000a200000000 (usable)
[ 0.000000] BIOS-e820: 000000c000000000 - 000000c200000000 (usable)
[ 0.000000] BIOS-e820: 000000e000000000 - 000000e200000000 (usable)
[ 0.000000] debug: ignoring loglevel setting.
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] DMI 2.6 present.
[ 0.000000] DMI: /ProLiant DL980 G7, BIOS P66 07/07/2010
[ 0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[ 0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[ 0.000000] No AGP bridge found
[ 0.000000] last_pfn = 0xe200000 max_arch_pfn = 0x400000000
[ 0.000000] MTRR default type: write-back
[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] 00000-9FFFF write-back
[ 0.000000] A0000-BFFFF uncachable
[ 0.000000] C0000-FFFFF write-protect
[ 0.000000] MTRR variable ranges enabled:
[ 0.000000] 0 base 00080000000 mask FFF80000000 uncachable
[ 0.000000] 1 disabled
[ 0.000000] 2 disabled
[ 0.000000] 3 disabled
[ 0.000000] 4 disabled
[ 0.000000] 5 disabled
[ 0.000000] 6 disabled
[ 0.000000] 7 disabled
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] last_pfn = 0x7f62d max_arch_pfn = 0x400000000
[ 0.000000] found SMP MP-table at [ffff8800000f4f80] f4f80
[ 0.000000] Scanning 0 areas for low memory corruption
[ 0.000000] initial memory mapped : 0 - 20000000
[ 0.000000] init_memory_mapping: 0000000000000000-000000007f62d000
[ 0.000000] 0000000000 - 007f600000 page 2M
[ 0.000000] 007f600000 - 007f62d000 page 4k
[ 0.000000] kernel direct mapping tables up to 7f62d000 @ 1fffc000-20000000
[ 0.000000] init_memory_mapping: 0000000100000000-000000e200000000
[ 0.000000] 0100000000 - e200000000 page 2M
[ 0.000000] kernel direct mapping tables up to e200000000 @ 7f276000-7f600000
[ 0.000000] ACPI: RSDP 00000000000f4f00 00024 (v02 HP )
[ 0.000000] ACPI: XSDT 000000007f6022c0 000C4 (v01 HP ProLiant 00000002 ?? 0000162E)
[ 0.000000] ACPI: FACP 000000007f6023c0 000F4 (v03 HP ProLiant 00000002 ?? 0000162E)
[ 0.000000] ACPI Warning: Invalid length for Pm1aControlBlock: 32, using default 16 (20101013/tbfadt-607)
[ 0.000000] ACPI: DSDT 000000007f6024c0 029E0 (v01 HP DSDT 00000001 INTL 20030228)
[ 0.000000] ACPI: FACS 000000007f600140 00040
[ 0.000000] ACPI: SPCR 000000007f600180 00050 (v01 HP SPCRRBSU 00000001 ?? 0000162E)
[ 0.000000] ACPI: MCFG 000000007f600200 0003C (v01 HP ProLiant 00000001 00000000)
[ 0.000000] ACPI: HPET 000000007f600240 00038 (v01 HP ProLiant 00000002 ?? 0000162E)
[ 0.000000] ACPI: FFFF 000000007f600280 00064 (v02 HP ProLiant 00000002 ?? 0000162E)
[ 0.000000] ACPI: SPMI 000000007f600300 00040 (v05 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: ERST 000000007f600340 001D0 (v01 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: APIC 000000007f600540 00476 (v01 HP ProLiant 00000002 00000000)
[ 0.000000] ACPI: SRAT 000000007f6009c0 012B0 (v01 HP Proliant 00000001 ?? 0000162E)
[ 0.000000] ACPI: FFFF 000000007f601c80 00176 (v01 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: BERT 000000007f601e00 00030 (v01 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: HEST 000000007f601e40 000BC (v01 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: DMAR 000000007f601f00 00224 (v01 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: SLIT 000000007f602240 0006C (v01 HP ProLiant 00000001 00000000)
[ 0.000000] ACPI: SSDT 000000007f604ea0 00CD4 (v01 HP SSDT1 00000001 INTL 20090625)
[ 0.000000] ACPI: SSDT 000000007f605b80 00125 (v03 HP CRSPCI0 00000002 HP 00000001)
[ 0.000000] ACPI: SSDT 000000007f605cc0 00076 (v03 HP CRSPCI1 00000002 HP 00000001)
[ 0.000000] ACPI: SSDT 000000007f605d40 00D7B (v01 HP pcc 00000001 INTL 20090625)
[ 0.000000] ACPI: SSDT 000000007f606ac0 00377 (v01 HP pmab 00000001 INTL 20090625)
[ 0.000000] ACPI: SSDT 000000007f606e40 13824 (v01 INTEL PPM RCM 80000001 INTL 20061109)
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] SRAT: PXM 0 -> APIC 0x00 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x01 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x02 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x03 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x04 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x05 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x06 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x07 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x10 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x11 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x12 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x13 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x14 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x15 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x16 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x17 -> Node 0
[ 0.000000] SRAT: PXM 1 -> APIC 0x20 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x21 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x22 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x23 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x24 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x25 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x26 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x27 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x30 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x31 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x32 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x33 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x34 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x35 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x36 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x37 -> Node 1
[ 0.000000] ACPI: [SRAT:0x00] ignored 192 entries of 256 found
[ 0.000000] SRAT: Node 0 PXM 0 0-80000000
[ 0.000000] SRAT: Node 0 PXM 0 100000000-480000000
[ 0.000000] SRAT: Node 1 PXM 1 2000000000-2400000000
[ 0.000000] SRAT: Node 2 PXM 2 4000000000-4400000000
[ 0.000000] SRAT: Node 3 PXM 3 6000000000-6400000000
[ 0.000000] SRAT: Node 4 PXM 4 8000000000-8200000000
[ 0.000000] SRAT: Node 5 PXM 5 a000000000-a200000000
[ 0.000000] SRAT: Node 6 PXM 6 c000000000-c200000000
[ 0.000000] SRAT: Node 7 PXM 7 e000000000-e200000000
[ 0.000000] SRAT: Node 0 [0,80000000) + [100000000,480000000) -> [0,480000000)
[ 0.000000] NUMA: Using 37 for the hash shift.
[ 0.000000] Initmem setup node 0 0000000000000000-0000000480000000
[ 0.000000] NODE_DATA [000000047fffb000 - 000000047fffffff]
[ 0.000000] Initmem setup node 1 0000002000000000-0000002400000000
[ 0.000000] NODE_DATA [00000023ffffb000 - 00000023ffffffff]
[ 0.000000] Initmem setup node 2 0000004000000000-0000004400000000
[ 0.000000] NODE_DATA [00000043ffffb000 - 00000043ffffffff]
[ 0.000000] Initmem setup node 3 0000006000000000-0000006400000000
[ 0.000000] NODE_DATA [00000063ffffb000 - 00000063ffffffff]
[ 0.000000] Initmem setup node 4 0000008000000000-0000008200000000
[ 0.000000] NODE_DATA [00000081ffffb000 - 00000081ffffffff]
[ 0.000000] Initmem setup node 5 000000a000000000-000000a200000000
[ 0.000000] NODE_DATA [000000a1ffffb000 - 000000a1ffffffff]
[ 0.000000] Initmem setup node 6 000000c000000000-000000c200000000
[ 0.000000] NODE_DATA [000000c1ffffb000 - 000000c1ffffffff]
[ 0.000000] Initmem setup node 7 000000e000000000-000000e200000000
[ 0.000000] NODE_DATA [000000e1ffffa000 - 000000e1ffffefff]
[ 0.000000] [ffffea0000000000-ffffea000fbfffff] PMD -> [ffff88046fe00000-ffff88047ddfffff] on node 0
[ 0.000000] [ffffea0070000000-ffffea007dffffff] PMD -> [ffff8823efe00000-ffff8823fddfffff] on node 1
[ 0.000000] [ffffea00e0000000-ffffea00edffffff] PMD -> [ffff8843efe00000-ffff8843fddfffff] on node 2
[ 0.000000] [ffffea0150000000-ffffea015dffffff] PMD -> [ffff8863efe00000-ffff8863fddfffff] on node 3
[ 0.000000] [ffffea01c0000000-ffffea01c6ffffff] PMD -> [ffff8881f7e00000-ffff8881fedfffff] on node 4
[ 0.000000] [ffffea0230000000-ffffea0236ffffff] PMD -> [ffff88a1f7e00000-ffff88a1fedfffff] on node 5
[ 0.000000] [ffffea02a0000000-ffffea02a6ffffff] PMD -> [ffff88c1f7e00000-ffff88c1fedfffff] on node 6
[ 0.000000] [ffffea0310000000-ffffea0316ffffff] PMD -> [ffff88e1f7e00000-ffff88e1fedfffff] on node 7
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0x00000010 -> 0x00001000
[ 0.000000] DMA32 0x00001000 -> 0x00100000
[ 0.000000] Normal 0x00100000 -> 0x0e200000
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] early_node_map[11] active PFN ranges
[ 0.000000] 0: 0x00000010 -> 0x00000095
[ 0.000000] 0: 0x00000100 -> 0x0007f600
[ 0.000000] 0: 0x0007f62c -> 0x0007f62d
[ 0.000000] 0: 0x00100000 -> 0x00480000
[ 0.000000] 1: 0x02000000 -> 0x02400000
[ 0.000000] 2: 0x04000000 -> 0x04400000
[ 0.000000] 3: 0x06000000 -> 0x06400000
[ 0.000000] 4: 0x08000000 -> 0x08200000
[ 0.000000] 5: 0x0a000000 -> 0x0a200000
[ 0.000000] 6: 0x0c000000 -> 0x0c200000
[ 0.000000] 7: 0x0e000000 -> 0x0e200000
[ 0.000000] On node 0 totalpages: 4191622
[ 0.000000] DMA zone: 56 pages used for memmap
[ 0.000000] DMA zone: 6 pages reserved
[ 0.000000] DMA zone: 3911 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 14280 pages used for memmap
[ 0.000000] DMA32 zone: 503353 pages, LIFO batch:31
[ 0.000000] Normal zone: 50176 pages used for memmap
[ 0.000000] Normal zone: 3619840 pages, LIFO batch:31
[ 0.000000] On node 1 totalpages: 4194304
[ 0.000000] Normal zone: 57344 pages used for memmap
[ 0.000000] Normal zone: 4136960 pages, LIFO batch:31
[ 0.000000] On node 2 totalpages: 4194304
[ 0.000000] Normal zone: 57344 pages used for memmap
[ 0.000000] Normal zone: 4136960 pages, LIFO batch:31
[ 0.000000] On node 3 totalpages: 4194304
[ 0.000000] Normal zone: 57344 pages used for memmap
[ 0.000000] Normal zone: 4136960 pages, LIFO batch:31
[ 0.000000] On node 4 totalpages: 2097152
[ 0.000000] Normal zone: 28672 pages used for memmap
[ 0.000000] Normal zone: 2068480 pages, LIFO batch:31
[ 0.000000] On node 5 totalpages: 2097152
[ 0.000000] Normal zone: 28672 pages used for memmap
[ 0.000000] Normal zone: 2068480 pages, LIFO batch:31
[ 0.000000] On node 6 totalpages: 2097152
[ 0.000000] Normal zone: 28672 pages used for memmap
[ 0.000000] Normal zone: 2068480 pages, LIFO batch:31
[ 0.000000] On node 7 totalpages: 2097152
[ 0.000000] Normal zone: 28672 pages used for memmap
[ 0.000000] Normal zone: 2068480 pages, LIFO batch:31
[ 0.000000] ACPI: PM-Timer IO Port: 0x908
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x10] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x12] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x14] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x16] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x10] lapic_id[0x20] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x12] lapic_id[0x22] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x14] lapic_id[0x24] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x16] lapic_id[0x26] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x18] lapic_id[0x30] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x1a] lapic_id[0x32] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x1c] lapic_id[0x34] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x1e] lapic_id[0x36] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x20] lapic_id[0x40] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x22] lapic_id[0x42] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x24] lapic_id[0x44] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x26] lapic_id[0x46] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x28] lapic_id[0x50] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x2a] lapic_id[0x52] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x2c] lapic_id[0x54] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x2e] lapic_id[0x56] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x30] lapic_id[0x60] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x32] lapic_id[0x62] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x34] lapic_id[0x64] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x36] lapic_id[0x66] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x38] lapic_id[0x70] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x3a] lapic_id[0x72] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x3c] lapic_id[0x74] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x3e] lapic_id[0x76] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x40] lapic_id[0x80] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x42] lapic_id[0x82] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x44] lapic_id[0x84] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x46] lapic_id[0x86] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x48] lapic_id[0x90] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x4a] lapic_id[0x92] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x4c] lapic_id[0x94] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x4e] lapic_id[0x96] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x50] lapic_id[0xa0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x52] lapic_id[0xa2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x54] lapic_id[0xa4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x56] lapic_id[0xa6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x58] lapic_id[0xb0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x5a] lapic_id[0xb2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x5c] lapic_id[0xb4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x5e] lapic_id[0xb6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x60] lapic_id[0xc0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x62] lapic_id[0xc2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x64] lapic_id[0xc4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x66] lapic_id[0xc6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x68] lapic_id[0xd0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x6a] lapic_id[0xd2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x6c] lapic_id[0xd4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x6e] lapic_id[0xd6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x70] lapic_id[0xe0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x72] lapic_id[0xe2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x74] lapic_id[0xe4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x76] lapic_id[0xe6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x78] lapic_id[0xf0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x7a] lapic_id[0xf2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x7c] lapic_id[0xf4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x7e] lapic_id[0xf6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 64/0x1 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 65/0x3 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 66/0x5 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 67/0x7 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x11] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 68/0x11 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x13] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 69/0x13 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x15] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 70/0x15 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x17] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 71/0x17 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x11] lapic_id[0x21] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 72/0x21 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x13] lapic_id[0x23] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 73/0x23 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x15] lapic_id[0x25] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 74/0x25 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x17] lapic_id[0x27] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 75/0x27 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x19] lapic_id[0x31] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 76/0x31 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x1b] lapic_id[0x33] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 77/0x33 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x1d] lapic_id[0x35] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 78/0x35 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x1f] lapic_id[0x37] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 79/0x37 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x21] lapic_id[0x41] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 80/0x41 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x23] lapic_id[0x43] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 81/0x43 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x25] lapic_id[0x45] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 82/0x45 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x27] lapic_id[0x47] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 83/0x47 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x29] lapic_id[0x51] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 84/0x51 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x2b] lapic_id[0x53] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 85/0x53 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x2d] lapic_id[0x55] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 86/0x55 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x2f] lapic_id[0x57] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 87/0x57 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x31] lapic_id[0x61] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 88/0x61 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x33] lapic_id[0x63] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 89/0x63 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x35] lapic_id[0x65] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 90/0x65 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x37] lapic_id[0x67] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 91/0x67 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x39] lapic_id[0x71] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 92/0x71 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x3b] lapic_id[0x73] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 93/0x73 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x3d] lapic_id[0x75] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 94/0x75 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x3f] lapic_id[0x77] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 95/0x77 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x41] lapic_id[0x81] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 96/0x81 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x43] lapic_id[0x83] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 97/0x83 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x45] lapic_id[0x85] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 98/0x85 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x47] lapic_id[0x87] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 99/0x87 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x49] lapic_id[0x91] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 100/0x91 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x4b] lapic_id[0x93] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 101/0x93 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x4d] lapic_id[0x95] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 102/0x95 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x4f] lapic_id[0x97] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 103/0x97 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x51] lapic_id[0xa1] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 104/0xa1 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x53] lapic_id[0xa3] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 105/0xa3 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x55] lapic_id[0xa5] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 106/0xa5 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x57] lapic_id[0xa7] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 107/0xa7 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x59] lapic_id[0xb1] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 108/0xb1 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x5b] lapic_id[0xb3] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 109/0xb3 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x5d] lapic_id[0xb5] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 110/0xb5 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x5f] lapic_id[0xb7] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 111/0xb7 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x61] lapic_id[0xc1] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 112/0xc1 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x63] lapic_id[0xc3] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 113/0xc3 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x65] lapic_id[0xc5] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 114/0xc5 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x67] lapic_id[0xc7] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 115/0xc7 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x69] lapic_id[0xd1] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 116/0xd1 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x6b] lapic_id[0xd3] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 117/0xd3 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x6d] lapic_id[0xd5] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 118/0xd5 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x6f] lapic_id[0xd7] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 119/0xd7 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x71] lapic_id[0xe1] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 120/0xe1 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x73] lapic_id[0xe3] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 121/0xe3 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x75] lapic_id[0xe5] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 122/0xe5 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x77] lapic_id[0xe7] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 123/0xe7 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x79] lapic_id[0xf1] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 124/0xf1 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x7b] lapic_id[0xf3] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 125/0xf3 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x7d] lapic_id[0xf5] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 126/0xf5 ignored.
[ 0.000000] ACPI: LAPIC (acpi_id[0x7f] lapic_id[0xf7] enabled)
[ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 127/0xf7 ignored.
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[ 0.000000] ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
[ 0.000000] IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
[ 0.000000] ACPI: IOAPIC (id[0x00] address[0xfec08000] gsi_base[24])
[ 0.000000] IOAPIC[1]: apic_id 0, version 32, address 0xfec08000, GSI 24-47
[ 0.000000] ACPI: IOAPIC (id[0x0a] address[0xfec10000] gsi_base[48])
[ 0.000000] IOAPIC[2]: apic_id 10, version 32, address 0xfec10000, GSI 48-71
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[ 0.000000] ACPI: IRQ0 used by override.
[ 0.000000] ACPI: IRQ2 used by override.
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[ 0.000000] 128 Processors exceeds NR_CPUS limit of 64
[ 0.000000] SMP: Allowing 64 CPUs, 0 hotplug CPUs
[ 0.000000] nr_irqs_gsi: 88
[ 0.000000] PM: Registered nosave memory: 0000000000095000 - 0000000000096000
[ 0.000000] PM: Registered nosave memory: 0000000000096000 - 00000000000a0000
[ 0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000f0000
[ 0.000000] PM: Registered nosave memory: 00000000000f0000 - 0000000000100000
[ 0.000000] PM: Registered nosave memory: 000000007f600000 - 000000007f62c000
[ 0.000000] PM: Registered nosave memory: 000000007f62d000 - 000000007f79d000
[ 0.000000] PM: Registered nosave memory: 000000007f79d000 - 000000007f7a0000
[ 0.000000] PM: Registered nosave memory: 000000007f7a0000 - 0000000090000000
[ 0.000000] PM: Registered nosave memory: 0000000090000000 - 00000000fec00000
[ 0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000fee10000
[ 0.000000] PM: Registered nosave memory: 00000000fee10000 - 00000000ff800000
[ 0.000000] PM: Registered nosave memory: 00000000ff800000 - 0000000100000000
[ 0.000000] PM: Registered nosave memory: 0000000480000000 - 0000002000000000
[ 0.000000] PM: Registered nosave memory: 0000002400000000 - 0000004000000000
[ 0.000000] PM: Registered nosave memory: 0000004400000000 - 0000006000000000
[ 0.000000] PM: Registered nosave memory: 0000006400000000 - 0000008000000000
[ 0.000000] PM: Registered nosave memory: 0000008200000000 - 000000a000000000
[ 0.000000] PM: Registered nosave memory: 000000a200000000 - 000000c000000000
[ 0.000000] PM: Registered nosave memory: 000000c200000000 - 000000e000000000
[ 0.000000] Allocating PCI resources starting at 90000000 (gap: 90000000:6ec00000)
[ 0.000000] setup_percpu: NR_CPUS:64 nr_cpumask_bits:64 nr_cpu_ids:64 nr_node_ids:8
[ 0.000000] PERCPU: Embedded 26 pages/cpu @ffff88007ee00000 s75520 r8192 d22784 u262144
[ 0.000000] pcpu-alloc: s75520 r8192 d22784 u262144 alloc=1*2097152
[ 0.000000] pcpu-alloc: [0] 00 01 02 03 04 05 06 07 [0] 16 24 32 40 48 56 -- --
[ 0.000000] pcpu-alloc: [1] 08 09 10 11 12 13 14 15 [1] 17 25 33 41 49 57 -- --
[ 0.000000] pcpu-alloc: [2] 18 26 34 42 50 58 -- -- [3] 19 27 35 43 51 59 -- --
[ 0.000000] pcpu-alloc: [4] 20 28 36 44 52 60 -- -- [5] 21 29 37 45 53 61 -- --
[ 0.000000] pcpu-alloc: [6] 22 30 38 46 54 62 -- -- [7] 23 31 39 47 55 63 -- --
[ 0.000000] Built 8 zonelists in Zone order, mobility grouping on. Total pages: 24811904
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: console=ttyS0,115200n8 ignore_loglevel printk.time=0 root=/dev/cciss/c0d1p1 BOOT_IMAGE=kernel
PID hash table entries: 4096 (order: 3, 32768 bytes)
Checking aperture...
No AGP bridge found
Calgary: detecting Calgary via BIOS EBDA area
Calgary: Unable to locate Rio Grande table in EBDA - bailing!
Memory: 99187376k/947912704k available (6286k kernel code, 847260136k absent, 1465192k reserved, 6950k data, 628k init)
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=64, Nodes=8
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
NR_IRQS:4352 nr_irqs:2008 16
Extended CMOS year: 2000
Console: colour VGA+ 80x25
console [ttyS0] enabled
hpet clockevent registered
Fast TSC calibration using PIT
Detected 2261.072 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 4522.14 BogoMIPS (lpj=2261072)
pid_max: default: 65536 minimum: 512
Security Framework initialized
SELinux: Initializing.
SELinux: Starting in permissive mode
Dentry cache hash table entries: 16777216 (order: 15, 134217728 bytes)
Inode-cache hash table entries: 8388608 (order: 14, 67108864 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys ns
ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup.
Initializing cgroup subsys cpuacct
Initializing cgroup subsys freezer
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
mce: CPU supports 22 MCE banks
CPU0: Thermal monitoring enabled (TM1)
using mwait in idle threads.
Performance Events: PEBS fmt1+, Nehalem events, Intel PMU driver.
... version: 3
... bit width: 48
... generic registers: 4
... value mask: 0000ffffffffffff
... max period: 000000007fffffff
... fixed-purpose events: 3
... event mask: 000000070000000f
ACPI: Core revision 20101013
DMAR: Host address width 40
DMAR: DRHD base: 0x000000ac000000 flags: 0x0
IOMMU 0: reg_base_addr ac000000 ver 1:0 cap c90780106f0462 ecap f0207e
DMAR: DRHD base: 0x000000a8000000 flags: 0x1
IOMMU 1: reg_base_addr a8000000 ver 1:0 cap c90780106f0462 ecap f0207e
DMAR: RMRR base: 0x0000007f7ee000 end: 0x0000007f7effff
DMAR: RMRR base: 0x0000007f7e7000 end: 0x0000007f7ecfff
DMAR: RMRR base: 0x0000007f62e000 end: 0x0000007f62ffff
DMAR: ATSR flags: 0x0
DMAR: ATSR flags: 0x0
Not enabling x2apic, Intr-remapping init failed.
Setting APIC routing to physical flat
..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
CPU0: Intel(R) Xeon(R) CPU X7560 @ 2.27GHz stepping 06
Booting Node 0, Processors #1 #2 #3 #4 #5 #6 #7 Ok.
Booting Node 1, Processors #8 #9 #10 #11 #12 #13 #14 #15 Ok.
Booting Node 0, Processors #16 Ok.
Booting Node 1, Processors #17 Ok.
Booting Node 2, Processors #18 Ok.
Booting Node 3, Processors #19 Ok.
Booting Node 4, Processors #20 Ok.
Booting Node 5, Processors #21 Ok.
Booting Node 6, Processors #22 Ok.
Booting Node 7, Processors #23 Ok.
Booting Node 0, Processors #24 Ok.
Booting Node 1, Processors #25 Ok.
Booting Node 2, Processors #26 Ok.
Booting Node 3, Processors #27 Ok.
Booting Node 4, Processors #28 Ok.
Booting Node 5, Processors #29 Ok.
Booting Node 6, Processors #30 Ok.
Booting Node 7, Processors #31 Ok.
Booting Node 0, Processors #32 Ok.
Booting Node 1, Processors #33 Ok.
Booting Node 2, Processors #34 Ok.
Booting Node 3, Processors #35 Ok.
Booting Node 4, Processors #36 Ok.
Booting Node 5, Processors #37 Ok.
Booting Node 6, Processors #38 Ok.
Booting Node 7, Processors #39 Ok.
Booting Node 0, Processors #40 Ok.
Booting Node 1, Processors #41 Ok.
Booting Node 2, Processors #42 Ok.
Booting Node 3, Processors #43 Ok.
Booting Node 4, Processors #44 Ok.
Booting Node 5, Processors #45 Ok.
Booting Node 6, Processors #46 Ok.
Booting Node 7, Processors #47 Ok.
Booting Node 0, Processors #48 Ok.
Booting Node 1, Processors #49 Ok.
Booting Node 2, Processors #50 Ok.
Booting Node 3, Processors #51 Ok.
Booting Node 4, Processors #52 Ok.
Booting Node 5, Processors #53 Ok.
Booting Node 6, Processors #54 Ok.
Booting Node 7, Processors #55 Ok.
Booting Node 0, Processors #56 Ok.
Booting Node 1, Processors #57 Ok.
Booting Node 2, Processors #58 Ok.
Booting Node 3, Processors #59 Ok.
Booting Node 4, Processors #60 Ok.
Booting Node 5, Processors #61 Ok.
Booting Node 6, Processors #62 Ok.
Booting Node 7, Processors #63 Ok.
Brought up 64 CPUs
Total of 64 processors activated (289366.52 BogoMIPS).
divide error: 0000 [#1] SMP
last sysfs file:
CPU 1
Modules linked in:

Pid: 2, comm: kthreadd Not tainted 2.6.37-rc1-00027-gff8b16d #271 /ProLiant DL980 G7
RIP: 0010:[<ffffffff81034645>] [<ffffffff81034645>] select_task_rq_fair+0x62a/0x7a0
RSP: 0000:ffff88046f869c30 EFLAGS: 00010046
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000040 RDI: 0000000000000040
RBP: ffff88046f869d30 R08: 0000000000000000 R09: ffff88046fa62598
R10: 0000000000000000 R11: 0000000000000080 R12: ffff88046fa62580
R13: ffff88007ee4da50 R14: 0000000000011ac0 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff88007ee40000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 0000000001c07000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process kthreadd (pid: 2, threadinfo ffff88046f868000, task ffff88e1f6c40750)
Stack:
ffff880400000000 0000000000011ac0 0000000000011ac0 0000000000011ac0
0000000000011ac0 0000000000011ac8 0000000000011ac8 0000000000800711
0000000800000000 ffff88046f418000 ffff88007ee51ac0 0000000081c19b60
Call Trace:
[<ffffffff810ab0a6>] ? perf_event_fork+0x10/0x12
[<ffffffff8103d735>] ? copy_process+0xdf0/0xf9a
[<ffffffff8103787b>] select_task_rq+0x13/0x4a
[<ffffffff81038dae>] wake_up_new_task+0x39/0xdb
[<ffffffff8103db35>] do_fork+0x256/0x314
[<ffffffff810333ae>] ? dequeue_entity+0x19/0x19b
[<ffffffff81033213>] ? set_next_entity+0x43/0x96
[<ffffffff81009978>] kernel_thread+0x6b/0x6d
[<ffffffff81057b76>] ? kthread+0x0/0x89
[<ffffffff81003850>] ? kernel_thread_helper+0x0/0x10
[<ffffffff81057cd5>] kthreadd+0xd6/0x111
[<ffffffff81003854>] kernel_thread_helper+0x4/0x10
[<ffffffff81057bff>] ? kthreadd+0x0/0x111
[<ffffffff81003850>] ? kernel_thread_helper+0x0/0x10
Code: ff ff ff e8 ea 8c 1b 00 3b 05 58 ec ca 00 89 c2 44 8b 85 00 ff ff ff 0f 8c 74 ff ff ff 41 8b 4c 24 08 48 c1 e3 0a 31 d2 48 89 d8 <48> f7 f1 83 7d 90 00 48 89 c1 75 16 4c 39 f8 73 0d 49 89 c7 48
RIP [<ffffffff81034645>] select_task_rq_fair+0x62a/0x7a0
RSP <ffff88046f869c30>
---[ end trace 4eaa2a86a8e2da22 ]---


2010-11-04 05:20:11

by Eric Dumazet

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

Le mercredi 03 novembre 2010 à 22:12 -0600, Bjorn Helgaas a écrit :
> Hi,
>
> With current upstream, I see the following crash at boot-time:
>
> Brought up 64 CPUs
> Total of 64 processors activated (289366.52 BogoMIPS).
> divide error: 0000 [#1] SMP
> last sysfs file:
> CPU 1
> Modules linked in:
>
> Pid: 2, comm: kthreadd Not tainted 2.6.37-rc1-00027-gff8b16d #271 /ProLiant DL980 G7
> RIP: 0010:[<ffffffff81034645>] [<ffffffff81034645>] select_task_rq_fair+0x62a/0x7a0
>
> Complete dmesg below; let me know if you need more info.

Is the machine runs OK if you build a kernel with NR_CPUS=128 ?


> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 64/0x1 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 65/0x3 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 66/0x5 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 67/0x7 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x11] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 68/0x11 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x13] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 69/0x13 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x15] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 70/0x15 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x17] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 71/0x17 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x11] lapic_id[0x21] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 72/0x21 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x13] lapic_id[0x23] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 73/0x23 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x15] lapic_id[0x25] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 74/0x25 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x17] lapic_id[0x27] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 75/0x27 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x19] lapic_id[0x31] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 76/0x31 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x1b] lapic_id[0x33] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 77/0x33 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x1d] lapic_id[0x35] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 78/0x35 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x1f] lapic_id[0x37] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 79/0x37 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x21] lapic_id[0x41] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 80/0x41 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x23] lapic_id[0x43] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 81/0x43 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x25] lapic_id[0x45] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 82/0x45 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x27] lapic_id[0x47] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 83/0x47 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x29] lapic_id[0x51] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 84/0x51 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x2b] lapic_id[0x53] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 85/0x53 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x2d] lapic_id[0x55] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 86/0x55 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x2f] lapic_id[0x57] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 87/0x57 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x31] lapic_id[0x61] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 88/0x61 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x33] lapic_id[0x63] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 89/0x63 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x35] lapic_id[0x65] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 90/0x65 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x37] lapic_id[0x67] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 91/0x67 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x39] lapic_id[0x71] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 92/0x71 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x3b] lapic_id[0x73] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 93/0x73 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x3d] lapic_id[0x75] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 94/0x75 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x3f] lapic_id[0x77] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 95/0x77 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x41] lapic_id[0x81] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 96/0x81 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x43] lapic_id[0x83] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 97/0x83 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x45] lapic_id[0x85] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 98/0x85 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x47] lapic_id[0x87] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 99/0x87 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x49] lapic_id[0x91] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 100/0x91 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x4b] lapic_id[0x93] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 101/0x93 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x4d] lapic_id[0x95] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 102/0x95 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x4f] lapic_id[0x97] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 103/0x97 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x51] lapic_id[0xa1] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 104/0xa1 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x53] lapic_id[0xa3] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 105/0xa3 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x55] lapic_id[0xa5] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 106/0xa5 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x57] lapic_id[0xa7] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 107/0xa7 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x59] lapic_id[0xb1] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 108/0xb1 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x5b] lapic_id[0xb3] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 109/0xb3 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x5d] lapic_id[0xb5] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 110/0xb5 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x5f] lapic_id[0xb7] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 111/0xb7 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x61] lapic_id[0xc1] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 112/0xc1 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x63] lapic_id[0xc3] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 113/0xc3 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x65] lapic_id[0xc5] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 114/0xc5 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x67] lapic_id[0xc7] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 115/0xc7 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x69] lapic_id[0xd1] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 116/0xd1 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x6b] lapic_id[0xd3] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 117/0xd3 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x6d] lapic_id[0xd5] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 118/0xd5 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x6f] lapic_id[0xd7] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 119/0xd7 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x71] lapic_id[0xe1] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 120/0xe1 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x73] lapic_id[0xe3] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 121/0xe3 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x75] lapic_id[0xe5] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 122/0xe5 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x77] lapic_id[0xe7] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 123/0xe7 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x79] lapic_id[0xf1] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 124/0xf1 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x7b] lapic_id[0xf3] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 125/0xf3 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x7d] lapic_id[0xf5] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 126/0xf5 ignored.
> [ 0.000000] ACPI: LAPIC (acpi_id[0x7f] lapic_id[0xf7] enabled)
> [ 0.000000] ACPI: NR_CPUS/possible_cpus limit of 64 reached. Processor 127/0xf7 ignored.
> [ 0.000000] setup_percpu: NR_CPUS:64 nr_cpumask_bits:64 nr_cpu_ids:64 nr_node_ids:8
> [ 0.000000] PERCPU: Embedded 26 pages/cpu @ffff88007ee00000 s75520 r8192 d22784 u262144
> [ 0.000000] pcpu-alloc: s75520 r8192 d22784 u262144 alloc=1*2097152
> [ 0.000000] pcpu-alloc: [0] 00 01 02 03 04 05 06 07 [0] 16 24 32 40 48 56 -- --
> [ 0.000000] pcpu-alloc: [1] 08 09 10 11 12 13 14 15 [1] 17 25 33 41 49 57 -- --
> [ 0.000000] pcpu-alloc: [2] 18 26 34 42 50 58 -- -- [3] 19 27 35 43 51 59 -- --
> [ 0.000000] pcpu-alloc: [4] 20 28 36 44 52 60 -- -- [5] 21 29 37 45 53 61 -- --
> [ 0.000000] pcpu-alloc: [6] 22 30 38 46 54 62 -- -- [7] 23 31 39 47 55 63 -- --
> [ 0.000000] Built 8 zonelists in Zone order, mobility grouping on. Total pages: 24811904
> [ 0.000000] Policy zone: Normal
> [ 0.000000] Kernel command line: console=ttyS0,115200n8 ignore_loglevel printk.time=0 root=/dev/cciss/c0d1p1 BOOT_IMAGE=kernel
> PID hash table entries: 4096 (order: 3, 32768 bytes)
> Checking aperture...
> No AGP bridge found
> Calgary: detecting Calgary via BIOS EBDA area
> Calgary: Unable to locate Rio Grande table in EBDA - bailing!
> Memory: 99187376k/947912704k available (6286k kernel code, 847260136k absent, 1465192k reserved, 6950k data, 628k init)
> SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=64, Nodes=8
> Hierarchical RCU implementation.
> RCU-based detection of stalled CPUs is disabled.
> NR_IRQS:4352 nr_irqs:2008 16
> Extended CMOS year: 2000
> Console: colour VGA+ 80x25
> console [ttyS0] enabled
> hpet clockevent registered
> Fast TSC calibration using PIT
> Detected 2261.072 MHz processor.
> Calibrating delay loop (skipped), value calculated using timer frequency.. 4522.14 BogoMIPS (lpj=2261072)
> pid_max: default: 65536 minimum: 512
> Security Framework initialized
> SELinux: Initializing.
> SELinux: Starting in permissive mode
> Dentry cache hash table entries: 16777216 (order: 15, 134217728 bytes)
> Inode-cache hash table entries: 8388608 (order: 14, 67108864 bytes)
> Mount-cache hash table entries: 256
> Initializing cgroup subsys ns
> ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup.
> Initializing cgroup subsys cpuacct
> Initializing cgroup subsys freezer
> CPU: Physical Processor ID: 0
> CPU: Processor Core ID: 0
> mce: CPU supports 22 MCE banks
> CPU0: Thermal monitoring enabled (TM1)
> using mwait in idle threads.
> Performance Events: PEBS fmt1+, Nehalem events, Intel PMU driver.
> ... version: 3
> ... bit width: 48
> ... generic registers: 4
> ... value mask: 0000ffffffffffff
> ... max period: 000000007fffffff
> ... fixed-purpose events: 3
> ... event mask: 000000070000000f
> ACPI: Core revision 20101013
> DMAR: Host address width 40
> DMAR: DRHD base: 0x000000ac000000 flags: 0x0
> IOMMU 0: reg_base_addr ac000000 ver 1:0 cap c90780106f0462 ecap f0207e
> DMAR: DRHD base: 0x000000a8000000 flags: 0x1
> IOMMU 1: reg_base_addr a8000000 ver 1:0 cap c90780106f0462 ecap f0207e
> DMAR: RMRR base: 0x0000007f7ee000 end: 0x0000007f7effff
> DMAR: RMRR base: 0x0000007f7e7000 end: 0x0000007f7ecfff
> DMAR: RMRR base: 0x0000007f62e000 end: 0x0000007f62ffff
> DMAR: ATSR flags: 0x0
> DMAR: ATSR flags: 0x0
> Not enabling x2apic, Intr-remapping init failed.
> Setting APIC routing to physical flat
> ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
> CPU0: Intel(R) Xeon(R) CPU X7560 @ 2.27GHz stepping 06
> Booting Node 0, Processors #1 #2 #3 #4 #5 #6 #7 Ok.
> Booting Node 1, Processors #8 #9 #10 #11 #12 #13 #14 #15 Ok.
> Booting Node 0, Processors #16 Ok.
> Booting Node 1, Processors #17 Ok.
> Booting Node 2, Processors #18 Ok.
> Booting Node 3, Processors #19 Ok.
> Booting Node 4, Processors #20 Ok.
> Booting Node 5, Processors #21 Ok.
> Booting Node 6, Processors #22 Ok.
> Booting Node 7, Processors #23 Ok.
> Booting Node 0, Processors #24 Ok.
> Booting Node 1, Processors #25 Ok.
> Booting Node 2, Processors #26 Ok.
> Booting Node 3, Processors #27 Ok.
> Booting Node 4, Processors #28 Ok.
> Booting Node 5, Processors #29 Ok.
> Booting Node 6, Processors #30 Ok.

All this seems wrong...

> Booting Node 7, Processors #31 Ok.
> Booting Node 0, Processors #32 Ok.
> Booting Node 1, Processors #33 Ok.
> Booting Node 2, Processors #34 Ok.
> Booting Node 3, Processors #35 Ok.
> Booting Node 4, Processors #36 Ok.
> Booting Node 5, Processors #37 Ok.
> Booting Node 6, Processors #38 Ok.
> Booting Node 7, Processors #39 Ok.
> Booting Node 0, Processors #40 Ok.
> Booting Node 1, Processors #41 Ok.
> Booting Node 2, Processors #42 Ok.
> Booting Node 3, Processors #43 Ok.
> Booting Node 4, Processors #44 Ok.
> Booting Node 5, Processors #45 Ok.
> Booting Node 6, Processors #46 Ok.
> Booting Node 7, Processors #47 Ok.
> Booting Node 0, Processors #48 Ok.
> Booting Node 1, Processors #49 Ok.
> Booting Node 2, Processors #50 Ok.
> Booting Node 3, Processors #51 Ok.
> Booting Node 4, Processors #52 Ok.
> Booting Node 5, Processors #53 Ok.
> Booting Node 6, Processors #54 Ok.
> Booting Node 7, Processors #55 Ok.
> Booting Node 0, Processors #56 Ok.
> Booting Node 1, Processors #57 Ok.
> Booting Node 2, Processors #58 Ok.
> Booting Node 3, Processors #59 Ok.
> Booting Node 4, Processors #60 Ok.
> Booting Node 5, Processors #61 Ok.
> Booting Node 6, Processors #62 Ok.
> Booting Node 7, Processors #63 Ok.
> Brought up 64 CPUs
> Total of 64 processors activated (289366.52 BogoMIPS).
> divide error: 0000 [#1] SMP
> last sysfs file:
> CPU 1
> Modules linked in:
>
> Pid: 2, comm: kthreadd Not tainted 2.6.37-rc1-00027-gff8b16d #271 /ProLiant DL980 G7
> RIP: 0010:[<ffffffff81034645>] [<ffffffff81034645>] select_task_rq_fair+0x62a/0x7a0
> RSP: 0000:ffff88046f869c30 EFLAGS: 00010046
> RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
> RDX: 0000000000000000 RSI: 0000000000000040 RDI: 0000000000000040
> RBP: ffff88046f869d30 R08: 0000000000000000 R09: ffff88046fa62598
> R10: 0000000000000000 R11: 0000000000000080 R12: ffff88046fa62580
> R13: ffff88007ee4da50 R14: 0000000000011ac0 R15: 0000000000000000
> FS: 0000000000000000(0000) GS:ffff88007ee40000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: 0000000000000000 CR3: 0000000001c07000 CR4: 00000000000006e0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process kthreadd (pid: 2, threadinfo ffff88046f868000, task ffff88e1f6c40750)
> Stack:
> ffff880400000000 0000000000011ac0 0000000000011ac0 0000000000011ac0
> 0000000000011ac0 0000000000011ac8 0000000000011ac8 0000000000800711
> 0000000800000000 ffff88046f418000 ffff88007ee51ac0 0000000081c19b60
> Call Trace:
> [<ffffffff810ab0a6>] ? perf_event_fork+0x10/0x12
> [<ffffffff8103d735>] ? copy_process+0xdf0/0xf9a
> [<ffffffff8103787b>] select_task_rq+0x13/0x4a
> [<ffffffff81038dae>] wake_up_new_task+0x39/0xdb
> [<ffffffff8103db35>] do_fork+0x256/0x314
> [<ffffffff810333ae>] ? dequeue_entity+0x19/0x19b
> [<ffffffff81033213>] ? set_next_entity+0x43/0x96
> [<ffffffff81009978>] kernel_thread+0x6b/0x6d
> [<ffffffff81057b76>] ? kthread+0x0/0x89
> [<ffffffff81003850>] ? kernel_thread_helper+0x0/0x10
> [<ffffffff81057cd5>] kthreadd+0xd6/0x111
> [<ffffffff81003854>] kernel_thread_helper+0x4/0x10
> [<ffffffff81057bff>] ? kthreadd+0x0/0x111
> [<ffffffff81003850>] ? kernel_thread_helper+0x0/0x10
> Code: ff ff ff e8 ea 8c 1b 00 3b 05 58 ec ca 00 89 c2 44 8b 85 00 ff ff ff 0f 8c 74 ff ff ff 41 8b 4c 24 08 48 c1 e3 0a 31 d2 48 89 d8 <48> f7 f1 83 7d 90 00 48 89 c1 75 16 4c 39 f8 73 0d 49 89 c7 48
> RIP [<ffffffff81034645>] select_task_rq_fair+0x62a/0x7a0
> RSP <ffff88046f869c30>
> ---[ end trace 4eaa2a86a8e2da22 ]---
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2010-11-04 14:29:21

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

On Thu, Nov 04, 2010 at 06:19:52AM +0100, Eric Dumazet wrote:
> Le mercredi 03 novembre 2010 ? 22:12 -0600, Bjorn Helgaas a ?crit :
> > Hi,
> >
> > With current upstream, I see the following crash at boot-time:
> >
> > Brought up 64 CPUs
> > Total of 64 processors activated (289366.52 BogoMIPS).
> > divide error: 0000 [#1] SMP
> > last sysfs file:
> > CPU 1
> > Modules linked in:
> >
> > Pid: 2, comm: kthreadd Not tainted 2.6.37-rc1-00027-gff8b16d #271 /ProLiant DL980 G7
> > RIP: 0010:[<ffffffff81034645>] [<ffffffff81034645>] select_task_rq_fair+0x62a/0x7a0
> >
> > Complete dmesg below; let me know if you need more info.
>
> Is the machine runs OK if you build a kernel with NR_CPUS=128 ?

Nope, it fails the same way with NR_CPUS=128. Dmesg below.

[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.37-rc1-00027-gff8b16d (helgaas@bob) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #280 SMP Thu Nov 4 08:16:47 MDT 2010
[ 0.000000] Command line: console=ttyS0,115200n8 ignore_loglevel printk.time=0 root=/dev/cciss/c0d1p1 BOOT_IMAGE=kernel
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 0000000000095400 (usable)
[ 0.000000] BIOS-e820: 0000000000095400 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000007f600000 (usable)
[ 0.000000] BIOS-e820: 000000007f600000 - 000000007f62c000 (ACPI data)
[ 0.000000] BIOS-e820: 000000007f62c000 - 000000007f62d000 (usable)
[ 0.000000] BIOS-e820: 000000007f62d000 - 000000007f79d000 (reserved)
[ 0.000000] BIOS-e820: 000000007f79d000 - 000000007f7a0000 (ACPI data)
[ 0.000000] BIOS-e820: 000000007f7a0000 - 0000000090000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fee10000 (reserved)
[ 0.000000] BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)
[ 0.000000] BIOS-e820: 0000000100000000 - 0000000480000000 (usable)
[ 0.000000] BIOS-e820: 0000002000000000 - 0000002400000000 (usable)
[ 0.000000] BIOS-e820: 0000004000000000 - 0000004400000000 (usable)
[ 0.000000] BIOS-e820: 0000006000000000 - 0000006400000000 (usable)
[ 0.000000] BIOS-e820: 0000008000000000 - 0000008200000000 (usable)
[ 0.000000] BIOS-e820: 000000a000000000 - 000000a200000000 (usable)
[ 0.000000] BIOS-e820: 000000c000000000 - 000000c200000000 (usable)
[ 0.000000] BIOS-e820: 000000e000000000 - 000000e200000000 (usable)
[ 0.000000] debug: ignoring loglevel setting.
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] DMI 2.6 present.
[ 0.000000] DMI: /ProLiant DL980 G7, BIOS P66 07/07/2010
[ 0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[ 0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[ 0.000000] No AGP bridge found
[ 0.000000] last_pfn = 0xe200000 max_arch_pfn = 0x400000000
[ 0.000000] MTRR default type: write-back
[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] 00000-9FFFF write-back
[ 0.000000] A0000-BFFFF uncachable
[ 0.000000] C0000-FFFFF write-protect
[ 0.000000] MTRR variable ranges enabled:
[ 0.000000] 0 base 00080000000 mask FFF80000000 uncachable
[ 0.000000] 1 disabled
[ 0.000000] 2 disabled
[ 0.000000] 3 disabled
[ 0.000000] 4 disabled
[ 0.000000] 5 disabled
[ 0.000000] 6 disabled
[ 0.000000] 7 disabled
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] last_pfn = 0x7f62d max_arch_pfn = 0x400000000
[ 0.000000] found SMP MP-table at [ffff8800000f4f80] f4f80
[ 0.000000] Scanning 0 areas for low memory corruption
[ 0.000000] initial memory mapped : 0 - 20000000
[ 0.000000] init_memory_mapping: 0000000000000000-000000007f62d000
[ 0.000000] 0000000000 - 007f600000 page 2M
[ 0.000000] 007f600000 - 007f62d000 page 4k
[ 0.000000] kernel direct mapping tables up to 7f62d000 @ 1fffc000-20000000
[ 0.000000] init_memory_mapping: 0000000100000000-000000e200000000
[ 0.000000] 0100000000 - e200000000 page 2M
[ 0.000000] kernel direct mapping tables up to e200000000 @ 7f276000-7f600000
[ 0.000000] ACPI: RSDP 00000000000f4f00 00024 (v02 HP )
[ 0.000000] ACPI: XSDT 000000007f6022c0 000C4 (v01 HP ProLiant 00000002 ?? 0000162E)
[ 0.000000] ACPI: FACP 000000007f6023c0 000F4 (v03 HP ProLiant 00000002 ?? 0000162E)
[ 0.000000] ACPI Warning: Invalid length for Pm1aControlBlock: 32, using default 16 (20101013/tbfadt-607)
[ 0.000000] ACPI: DSDT 000000007f6024c0 029E0 (v01 HP DSDT 00000001 INTL 20030228)
[ 0.000000] ACPI: FACS 000000007f600140 00040
[ 0.000000] ACPI: SPCR 000000007f600180 00050 (v01 HP SPCRRBSU 00000001 ?? 0000162E)
[ 0.000000] ACPI: MCFG 000000007f600200 0003C (v01 HP ProLiant 00000001 00000000)
[ 0.000000] ACPI: HPET 000000007f600240 00038 (v01 HP ProLiant 00000002 ?? 0000162E)
[ 0.000000] ACPI: FFFF 000000007f600280 00064 (v02 HP ProLiant 00000002 ?? 0000162E)
[ 0.000000] ACPI: SPMI 000000007f600300 00040 (v05 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: ERST 000000007f600340 001D0 (v01 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: APIC 000000007f600540 00476 (v01 HP ProLiant 00000002 00000000)
[ 0.000000] ACPI: SRAT 000000007f6009c0 012B0 (v01 HP Proliant 00000001 ?? 0000162E)
[ 0.000000] ACPI: FFFF 000000007f601c80 00176 (v01 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: BERT 000000007f601e00 00030 (v01 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: HEST 000000007f601e40 000BC (v01 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: DMAR 000000007f601f00 00224 (v01 HP ProLiant 00000001 ?? 0000162E)
[ 0.000000] ACPI: SLIT 000000007f602240 0006C (v01 HP ProLiant 00000001 00000000)
[ 0.000000] ACPI: SSDT 000000007f604ea0 00CD4 (v01 HP SSDT1 00000001 INTL 20090625)
[ 0.000000] ACPI: SSDT 000000007f605b80 00125 (v03 HP CRSPCI0 00000002 HP 00000001)
[ 0.000000] ACPI: SSDT 000000007f605cc0 00076 (v03 HP CRSPCI1 00000002 HP 00000001)
[ 0.000000] ACPI: SSDT 000000007f605d40 00D7B (v01 HP pcc 00000001 INTL 20090625)
[ 0.000000] ACPI: SSDT 000000007f606ac0 00377 (v01 HP pmab 00000001 INTL 20090625)
[ 0.000000] ACPI: SSDT 000000007f606e40 13824 (v01 INTEL PPM RCM 80000001 INTL 20061109)
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] SRAT: PXM 0 -> APIC 0x00 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x01 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x02 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x03 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x04 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x05 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x06 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x07 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x10 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x11 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x12 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x13 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x14 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x15 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x16 -> Node 0
[ 0.000000] SRAT: PXM 0 -> APIC 0x17 -> Node 0
[ 0.000000] SRAT: PXM 1 -> APIC 0x20 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x21 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x22 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x23 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x24 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x25 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x26 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x27 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x30 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x31 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x32 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x33 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x34 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x35 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x36 -> Node 1
[ 0.000000] SRAT: PXM 1 -> APIC 0x37 -> Node 1
[ 0.000000] SRAT: PXM 2 -> APIC 0x40 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x41 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x42 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x43 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x44 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x45 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x46 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x47 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x50 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x51 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x52 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x53 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x54 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x55 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x56 -> Node 2
[ 0.000000] SRAT: PXM 2 -> APIC 0x57 -> Node 2
[ 0.000000] SRAT: PXM 3 -> APIC 0x60 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x61 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x62 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x63 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x64 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x65 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x66 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x67 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x70 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x71 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x72 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x73 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x74 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x75 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x76 -> Node 3
[ 0.000000] SRAT: PXM 3 -> APIC 0x77 -> Node 3
[ 0.000000] ACPI: [SRAT:0x00] ignored 128 entries of 256 found
[ 0.000000] SRAT: Node 0 PXM 0 0-80000000
[ 0.000000] SRAT: Node 0 PXM 0 100000000-480000000
[ 0.000000] SRAT: Node 1 PXM 1 2000000000-2400000000
[ 0.000000] SRAT: Node 2 PXM 2 4000000000-4400000000
[ 0.000000] SRAT: Node 3 PXM 3 6000000000-6400000000
[ 0.000000] SRAT: Node 4 PXM 4 8000000000-8200000000
[ 0.000000] SRAT: Node 5 PXM 5 a000000000-a200000000
[ 0.000000] SRAT: Node 6 PXM 6 c000000000-c200000000
[ 0.000000] SRAT: Node 7 PXM 7 e000000000-e200000000
[ 0.000000] SRAT: Node 0 [0,80000000) + [100000000,480000000) -> [0,480000000)
[ 0.000000] NUMA: Using 37 for the hash shift.
[ 0.000000] Initmem setup node 0 0000000000000000-0000000480000000
[ 0.000000] NODE_DATA [000000047fffb000 - 000000047fffffff]
[ 0.000000] Initmem setup node 1 0000002000000000-0000002400000000
[ 0.000000] NODE_DATA [00000023ffffb000 - 00000023ffffffff]
[ 0.000000] Initmem setup node 2 0000004000000000-0000004400000000
[ 0.000000] NODE_DATA [00000043ffffb000 - 00000043ffffffff]
[ 0.000000] Initmem setup node 3 0000006000000000-0000006400000000
[ 0.000000] NODE_DATA [00000063ffffb000 - 00000063ffffffff]
[ 0.000000] Initmem setup node 4 0000008000000000-0000008200000000
[ 0.000000] NODE_DATA [00000081ffffb000 - 00000081ffffffff]
[ 0.000000] Initmem setup node 5 000000a000000000-000000a200000000
[ 0.000000] NODE_DATA [000000a1ffffb000 - 000000a1ffffffff]
[ 0.000000] Initmem setup node 6 000000c000000000-000000c200000000
[ 0.000000] NODE_DATA [000000c1ffffb000 - 000000c1ffffffff]
[ 0.000000] Initmem setup node 7 000000e000000000-000000e200000000
[ 0.000000] NODE_DATA [000000e1ffffa000 - 000000e1ffffefff]
[ 0.000000] [ffffea0000000000-ffffea000fbfffff] PMD -> [ffff88046fe00000-ffff88047ddfffff] on node 0
[ 0.000000] [ffffea0070000000-ffffea007dffffff] PMD -> [ffff8823efe00000-ffff8823fddfffff] on node 1
[ 0.000000] [ffffea00e0000000-ffffea00edffffff] PMD -> [ffff8843efe00000-ffff8843fddfffff] on node 2
[ 0.000000] [ffffea0150000000-ffffea015dffffff] PMD -> [ffff8863efe00000-ffff8863fddfffff] on node 3
[ 0.000000] [ffffea01c0000000-ffffea01c6ffffff] PMD -> [ffff8881f7e00000-ffff8881fedfffff] on node 4
[ 0.000000] [ffffea0230000000-ffffea0236ffffff] PMD -> [ffff88a1f7e00000-ffff88a1fedfffff] on node 5
[ 0.000000] [ffffea02a0000000-ffffea02a6ffffff] PMD -> [ffff88c1f7e00000-ffff88c1fedfffff] on node 6
[ 0.000000] [ffffea0310000000-ffffea0316ffffff] PMD -> [ffff88e1f7e00000-ffff88e1fedfffff] on node 7
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0x00000010 -> 0x00001000
[ 0.000000] DMA32 0x00001000 -> 0x00100000
[ 0.000000] Normal 0x00100000 -> 0x0e200000
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] early_node_map[11] active PFN ranges
[ 0.000000] 0: 0x00000010 -> 0x00000095
[ 0.000000] 0: 0x00000100 -> 0x0007f600
[ 0.000000] 0: 0x0007f62c -> 0x0007f62d
[ 0.000000] 0: 0x00100000 -> 0x00480000
[ 0.000000] 1: 0x02000000 -> 0x02400000
[ 0.000000] 2: 0x04000000 -> 0x04400000
[ 0.000000] 3: 0x06000000 -> 0x06400000
[ 0.000000] 4: 0x08000000 -> 0x08200000
[ 0.000000] 5: 0x0a000000 -> 0x0a200000
[ 0.000000] 6: 0x0c000000 -> 0x0c200000
[ 0.000000] 7: 0x0e000000 -> 0x0e200000
[ 0.000000] On node 0 totalpages: 4191622
[ 0.000000] DMA zone: 56 pages used for memmap
[ 0.000000] DMA zone: 6 pages reserved
[ 0.000000] DMA zone: 3911 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 14280 pages used for memmap
[ 0.000000] DMA32 zone: 503353 pages, LIFO batch:31
[ 0.000000] Normal zone: 50176 pages used for memmap
[ 0.000000] Normal zone: 3619840 pages, LIFO batch:31
[ 0.000000] On node 1 totalpages: 4194304
[ 0.000000] Normal zone: 57344 pages used for memmap
[ 0.000000] Normal zone: 4136960 pages, LIFO batch:31
[ 0.000000] On node 2 totalpages: 4194304
[ 0.000000] Normal zone: 57344 pages used for memmap
[ 0.000000] Normal zone: 4136960 pages, LIFO batch:31
[ 0.000000] On node 3 totalpages: 4194304
[ 0.000000] Normal zone: 57344 pages used for memmap
[ 0.000000] Normal zone: 4136960 pages, LIFO batch:31
[ 0.000000] On node 4 totalpages: 2097152
[ 0.000000] Normal zone: 28672 pages used for memmap
[ 0.000000] Normal zone: 2068480 pages, LIFO batch:31
[ 0.000000] On node 5 totalpages: 2097152
[ 0.000000] Normal zone: 28672 pages used for memmap
[ 0.000000] Normal zone: 2068480 pages, LIFO batch:31
[ 0.000000] On node 6 totalpages: 2097152
[ 0.000000] Normal zone: 28672 pages used for memmap
[ 0.000000] Normal zone: 2068480 pages, LIFO batch:31
[ 0.000000] On node 7 totalpages: 2097152
[ 0.000000] Normal zone: 28672 pages used for memmap
[ 0.000000] Normal zone: 2068480 pages, LIFO batch:31
[ 0.000000] ACPI: PM-Timer IO Port: 0x908
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x10] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x12] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x14] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x16] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x10] lapic_id[0x20] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x12] lapic_id[0x22] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x14] lapic_id[0x24] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x16] lapic_id[0x26] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x18] lapic_id[0x30] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x1a] lapic_id[0x32] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x1c] lapic_id[0x34] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x1e] lapic_id[0x36] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x20] lapic_id[0x40] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x22] lapic_id[0x42] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x24] lapic_id[0x44] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x26] lapic_id[0x46] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x28] lapic_id[0x50] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x2a] lapic_id[0x52] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x2c] lapic_id[0x54] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x2e] lapic_id[0x56] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x30] lapic_id[0x60] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x32] lapic_id[0x62] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x34] lapic_id[0x64] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x36] lapic_id[0x66] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x38] lapic_id[0x70] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x3a] lapic_id[0x72] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x3c] lapic_id[0x74] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x3e] lapic_id[0x76] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x40] lapic_id[0x80] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x42] lapic_id[0x82] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x44] lapic_id[0x84] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x46] lapic_id[0x86] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x48] lapic_id[0x90] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x4a] lapic_id[0x92] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x4c] lapic_id[0x94] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x4e] lapic_id[0x96] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x50] lapic_id[0xa0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x52] lapic_id[0xa2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x54] lapic_id[0xa4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x56] lapic_id[0xa6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x58] lapic_id[0xb0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x5a] lapic_id[0xb2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x5c] lapic_id[0xb4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x5e] lapic_id[0xb6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x60] lapic_id[0xc0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x62] lapic_id[0xc2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x64] lapic_id[0xc4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x66] lapic_id[0xc6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x68] lapic_id[0xd0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x6a] lapic_id[0xd2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x6c] lapic_id[0xd4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x6e] lapic_id[0xd6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x70] lapic_id[0xe0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x72] lapic_id[0xe2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x74] lapic_id[0xe4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x76] lapic_id[0xe6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x78] lapic_id[0xf0] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x7a] lapic_id[0xf2] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x7c] lapic_id[0xf4] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x7e] lapic_id[0xf6] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x11] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x13] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x15] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x17] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x11] lapic_id[0x21] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x13] lapic_id[0x23] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x15] lapic_id[0x25] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x17] lapic_id[0x27] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x19] lapic_id[0x31] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x1b] lapic_id[0x33] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x1d] lapic_id[0x35] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x1f] lapic_id[0x37] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x21] lapic_id[0x41] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x23] lapic_id[0x43] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x25] lapic_id[0x45] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x27] lapic_id[0x47] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x29] lapic_id[0x51] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x2b] lapic_id[0x53] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x2d] lapic_id[0x55] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x2f] lapic_id[0x57] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x31] lapic_id[0x61] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x33] lapic_id[0x63] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x35] lapic_id[0x65] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x37] lapic_id[0x67] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x39] lapic_id[0x71] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x3b] lapic_id[0x73] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x3d] lapic_id[0x75] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x3f] lapic_id[0x77] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x41] lapic_id[0x81] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x43] lapic_id[0x83] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x45] lapic_id[0x85] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x47] lapic_id[0x87] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x49] lapic_id[0x91] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x4b] lapic_id[0x93] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x4d] lapic_id[0x95] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x4f] lapic_id[0x97] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x51] lapic_id[0xa1] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x53] lapic_id[0xa3] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x55] lapic_id[0xa5] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x57] lapic_id[0xa7] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x59] lapic_id[0xb1] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x5b] lapic_id[0xb3] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x5d] lapic_id[0xb5] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x5f] lapic_id[0xb7] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x61] lapic_id[0xc1] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x63] lapic_id[0xc3] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x65] lapic_id[0xc5] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x67] lapic_id[0xc7] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x69] lapic_id[0xd1] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x6b] lapic_id[0xd3] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x6d] lapic_id[0xd5] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x6f] lapic_id[0xd7] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x71] lapic_id[0xe1] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x73] lapic_id[0xe3] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x75] lapic_id[0xe5] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x77] lapic_id[0xe7] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x79] lapic_id[0xf1] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x7b] lapic_id[0xf3] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x7d] lapic_id[0xf5] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x7f] lapic_id[0xf7] enabled)
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[ 0.000000] ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
[ 0.000000] IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
[ 0.000000] ACPI: IOAPIC (id[0x00] address[0xfec08000] gsi_base[24])
[ 0.000000] IOAPIC[1]: apic_id 0, version 32, address 0xfec08000, GSI 24-47
[ 0.000000] ACPI: IOAPIC (id[0x0a] address[0xfec10000] gsi_base[48])
[ 0.000000] IOAPIC[2]: apic_id 10, version 32, address 0xfec10000, GSI 48-71
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[ 0.000000] ACPI: IRQ0 used by override.
[ 0.000000] ACPI: IRQ2 used by override.
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[ 0.000000] SMP: Allowing 128 CPUs, 0 hotplug CPUs
[ 0.000000] nr_irqs_gsi: 88
[ 0.000000] PM: Registered nosave memory: 0000000000095000 - 0000000000096000
[ 0.000000] PM: Registered nosave memory: 0000000000096000 - 00000000000a0000
[ 0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000f0000
[ 0.000000] PM: Registered nosave memory: 00000000000f0000 - 0000000000100000
[ 0.000000] PM: Registered nosave memory: 000000007f600000 - 000000007f62c000
[ 0.000000] PM: Registered nosave memory: 000000007f62d000 - 000000007f79d000
[ 0.000000] PM: Registered nosave memory: 000000007f79d000 - 000000007f7a0000
[ 0.000000] PM: Registered nosave memory: 000000007f7a0000 - 0000000090000000
[ 0.000000] PM: Registered nosave memory: 0000000090000000 - 00000000fec00000
[ 0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000fee10000
[ 0.000000] PM: Registered nosave memory: 00000000fee10000 - 00000000ff800000
[ 0.000000] PM: Registered nosave memory: 00000000ff800000 - 0000000100000000
[ 0.000000] PM: Registered nosave memory: 0000000480000000 - 0000002000000000
[ 0.000000] PM: Registered nosave memory: 0000002400000000 - 0000004000000000
[ 0.000000] PM: Registered nosave memory: 0000004400000000 - 0000006000000000
[ 0.000000] PM: Registered nosave memory: 0000006400000000 - 0000008000000000
[ 0.000000] PM: Registered nosave memory: 0000008200000000 - 000000a000000000
[ 0.000000] PM: Registered nosave memory: 000000a200000000 - 000000c000000000
[ 0.000000] PM: Registered nosave memory: 000000c200000000 - 000000e000000000
[ 0.000000] Allocating PCI resources starting at 90000000 (gap: 90000000:6ec00000)
[ 0.000000] setup_percpu: NR_CPUS:128 nr_cpumask_bits:128 nr_cpu_ids:128 nr_node_ids:8
[ 0.000000] PERCPU: Embedded 26 pages/cpu @ffff88007ec00000 s75712 r8192 d22592 u262144
[ 0.000000] pcpu-alloc: s75712 r8192 d22592 u262144 alloc=1*2097152
[ 0.000000] pcpu-alloc: [0] 000 001 002 003 004 005 006 007
[ 0.000000] pcpu-alloc: [0] 032 040 048 056 064 065 066 067
[ 0.000000] pcpu-alloc: [0] 068 069 070 071 096 104 112 120
[ 0.000000] pcpu-alloc: [1] 008 009 010 011 012 013 014 015
[ 0.000000] pcpu-alloc: [1] 033 041 049 057 072 073 074 075
[ 0.000000] pcpu-alloc: [1] 076 077 078 079 097 105 113 121
[ 0.000000] pcpu-alloc: [2] 016 017 018 019 020 021 022 023
[ 0.000000] pcpu-alloc: [2] 034 042 050 058 080 081 082 083
[ 0.000000] pcpu-alloc: [2] 084 085 086 087 098 106 114 122
[ 0.000000] pcpu-alloc: [3] 024 025 026 027 028 029 030 031
[ 0.000000] pcpu-alloc: [3] 035 043 051 059 088 089 090 091
[ 0.000000] pcpu-alloc: [3] 092 093 094 095 099 107 115 123
[ 0.000000] pcpu-alloc: [4] 036 044 052 060 100 108 116 124
[ 0.000000] pcpu-alloc: [5] 037 045 053 061 101 109 117 125
[ 0.000000] pcpu-alloc: [6] 038 046 054 062 102 110 118 126
[ 0.000000] pcpu-alloc: [7] 039 047 055 063 103 111 119 127
[ 0.000000] Built 8 zonelists in Zone order, mobility grouping on. Total pages: 24811904
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: console=ttyS0,115200n8 ignore_loglevel printk.time=0 root=/dev/cciss/c0d1p1 BOOT_IMAGE=kernel
PID hash table entries: 4096 (order: 3, 32768 bytes)
Checking aperture...
No AGP bridge found
Calgary: detecting Calgary via BIOS EBDA area
Calgary: Unable to locate Rio Grande table in EBDA - bailing!
Memory: 99180716k/947912704k available (6288k kernel code, 847260136k absent, 1471852k reserved, 6949k data, 628k init)
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=128, Nodes=8
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
NR_IRQS:8448 nr_irqs:2520 16
Extended CMOS year: 2000
Console: colour VGA+ 80x25
console [ttyS0] enabled
hpet clockevent registered
Fast TSC calibration using PIT
Detected 2260.976 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 4521.95 BogoMIPS (lpj=2260976)
pid_max: default: 131072 minimum: 1024
Security Framework initialized
SELinux: Initializing.
SELinux: Starting in permissive mode
Dentry cache hash table entries: 16777216 (order: 15, 134217728 bytes)
Inode-cache hash table entries: 8388608 (order: 14, 67108864 bytes)
Mount-cache hash table entries: 256
Initializing cgroup subsys ns
ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup.
Initializing cgroup subsys cpuacct
Initializing cgroup subsys freezer
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
mce: CPU supports 22 MCE banks
CPU0: Thermal monitoring enabled (TM1)
using mwait in idle threads.
Performance Events: PEBS fmt1+, Nehalem events, Intel PMU driver.
... version: 3
... bit width: 48
... generic registers: 4
... value mask: 0000ffffffffffff
... max period: 000000007fffffff
... fixed-purpose events: 3
... event mask: 000000070000000f
ACPI: Core revision 20101013
DMAR: Host address width 40
DMAR: DRHD base: 0x000000ac000000 flags: 0x0
IOMMU 0: reg_base_addr ac000000 ver 1:0 cap c90780106f0462 ecap f0207e
DMAR: DRHD base: 0x000000a8000000 flags: 0x1
IOMMU 1: reg_base_addr a8000000 ver 1:0 cap c90780106f0462 ecap f0207e
DMAR: RMRR base: 0x0000007f7ee000 end: 0x0000007f7effff
DMAR: RMRR base: 0x0000007f7e7000 end: 0x0000007f7ecfff
DMAR: RMRR base: 0x0000007f62e000 end: 0x0000007f62ffff
DMAR: ATSR flags: 0x0
DMAR: ATSR flags: 0x0
Not enabling x2apic, Intr-remapping init failed.
Setting APIC routing to physical flat
..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
CPU0: Intel(R) Xeon(R) CPU X7560 @ 2.27GHz stepping 06
Booting Node 0, Processors #1 #2 #3 #4 #5 #6 #7 Ok.
Booting Node 1, Processors #8 #9 #10 #11 #12 #13 #14 #15 Ok.
Booting Node 2, Processors #16 #17 #18 #19 #20 #21 #22 #23 Ok.
Booting Node 3, Processors #24 #25 #26 #27 #28 #29 #30 #31 Ok.
Booting Node 0, Processors #32 Ok.
Booting Node 1, Processors #33 Ok.
Booting Node 2, Processors #34 Ok.
Booting Node 3, Processors #35 Ok.
Booting Node 4, Processors #36 Ok.
Booting Node 5, Processors #37 Ok.
Booting Node 6, Processors #38 Ok.
Booting Node 7, Processors #39 Ok.
Booting Node 0, Processors #40 Ok.
Booting Node 1, Processors #41 Ok.
Booting Node 2, Processors #42 Ok.
Booting Node 3, Processors #43 Ok.
Booting Node 4, Processors #44 Ok.
Booting Node 5, Processors #45 Ok.
Booting Node 6, Processors #46 Ok.
Booting Node 7, Processors #47 Ok.
Booting Node 0, Processors #48 Ok.
Booting Node 1, Processors #49 Ok.
Booting Node 2, Processors #50 Ok.
Booting Node 3, Processors #51 Ok.
Booting Node 4, Processors #52 Ok.
Booting Node 5, Processors #53 Ok.
Booting Node 6, Processors #54 Ok.
Booting Node 7, Processors #55 Ok.
Booting Node 0, Processors #56 Ok.
Booting Node 1, Processors #57 Ok.
Booting Node 2, Processors #58 Ok.
Booting Node 3, Processors #59 Ok.
Booting Node 4, Processors #60 Ok.
Booting Node 5, Processors #61 Ok.
Booting Node 6, Processors #62 Ok.
Booting Node 7, Processors #63 Ok.
Booting Node 0, Processors #64 #65 #66 #67 #68 #69 #70 #71 Ok.
Booting Node 1, Processors #72 #73 #74 #75 #76 #77 #78 #79 Ok.
Booting Node 2, Processors #80 #81 #82 #83 #84 #85 #86 #87 Ok.
Booting Node 3, Processors #88 #89 #90 #91 #92 #93 #94 #95 Ok.
Booting Node 0, Processors #96 Ok.
Booting Node 1, Processors #97 Ok.
Booting Node 2, Processors #98 Ok.
Booting Node 3, Processors #99 Ok.
Booting Node 4, Processors #100 Ok.
Booting Node 5, Processors #101 Ok.
Booting Node 6, Processors #102 Ok.
Booting Node 7, Processors #103 Ok.
Booting Node 0, Processors #104 Ok.
Booting Node 1, Processors #105 Ok.
Booting Node 2, Processors #106 Ok.
Booting Node 3, Processors #107 Ok.
Booting Node 4, Processors #108 Ok.
Booting Node 5, Processors #109 Ok.
Booting Node 6, Processors #110 Ok.
Booting Node 7, Processors #111 Ok.
Booting Node 0, Processors #112 Ok.
Booting Node 1, Processors #113 Ok.
Booting Node 2, Processors #114 Ok.
Booting Node 3, Processors #115 Ok.
Booting Node 4, Processors #116 Ok.
Booting Node 5, Processors #117 Ok.
Booting Node 6, Processors #118 Ok.
Booting Node 7, Processors #119 Ok.
Booting Node 0, Processors #120 Ok.
Booting Node 1, Processors #121 Ok.
Booting Node 2, Processors #122 Ok.
Booting Node 3, Processors #123 Ok.
Booting Node 4, Processors #124 Ok.
Booting Node 5, Processors #125 Ok.
Booting Node 6, Processors #126 Ok.
Booting Node 7, Processors #127 Ok.
Brought up 128 CPUs
Total of 128 processors activated (578731.16 BogoMIPS).
divide error: 0000 [#1] SMP
last sysfs file:
CPU 64
Modules linked in:

Pid: 2, comm: kthreadd Not tainted 2.6.37-rc1-00027-gff8b16d #280 /ProLiant DL980 G7
RIP: 0010:[<ffffffff81034598>] [<ffffffff81034598>] select_task_rq_fair+0x62d/0x7a6
RSP: 0000:ffff88046f875c30 EFLAGS: 00010046
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 0000000000000080
RBP: ffff88046f875d30 R08: 0000000000000000 R09: ffff88046f62e5e0
R10: 0000000000000000 R11: 0000000000000080 R12: ffff88046f62e5c0
R13: ffff88007ef0da90 R14: ffff88046f62e5d0 R15: 0000000000011b80
FS: 0000000000000000(0000) GS:ffff88007ef00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 0000000001c07000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process kthreadd (pid: 2, threadinfo ffff88046f874000, task ffff8881f6c40750)
Stack:
ffff88046f875c70 0000000000011b80 0000000000011b80 0000000000011b80
0000000000011b80 0000000000011b88 0000000000011b88 0000000000800711
0000000800000000 ffff88046f7d8000 ffff88007ef11b80 0000000081c19b60
Call Trace:
[<ffffffff810ab773>] ? perf_event_fork+0x10/0x12
[<ffffffff8103da84>] ? copy_process+0xdf0/0xf9a
[<ffffffff81037b55>] select_task_rq+0x13/0x49
[<ffffffff810390da>] wake_up_new_task+0x39/0xdb
[<ffffffff8103de84>] do_fork+0x256/0x314
[<ffffffff810332f9>] ? dequeue_entity+0x19/0x19b
[<ffffffff8103315e>] ? set_next_entity+0x43/0x96
[<ffffffff81009994>] kernel_thread+0x6b/0x6d
[<ffffffff81057f42>] ? kthread+0x0/0x89
[<ffffffff81003850>] ? kernel_thread_helper+0x0/0x10
[<ffffffff810580a1>] kthreadd+0xd6/0x111
[<ffffffff81003854>] kernel_thread_helper+0x4/0x10
[<ffffffff81057fcb>] ? kthreadd+0x0/0x111
[<ffffffff81003850>] ? kernel_thread_helper+0x0/0x10
Code: 80 00 00 00 4c 89 f7 48 63 d2 e8 2c 95 1b 00 3b 05 fe f0 ca 00 89 c2 0f 8c 7b ff ff ff 41 8b 4c 24 08 48 c1 e3 0a 31 d2 48 89 d8 <48> f7 f1 83 7d 98 00 48 89 c1 75 18 48 3b 45 c8 73 0e 48 89 45
RIP [<ffffffff81034598>] select_task_rq_fair+0x62d/0x7a6
RSP <ffff88046f875c30>
---[ end trace 4eaa2a86a8e2da22 ]---

2010-11-04 14:38:19

by Eric Dumazet

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

Le jeudi 04 novembre 2010 à 08:28 -0600, Bjorn Helgaas a écrit :
> On Thu, Nov 04, 2010 at 06:19:52AM +0100, Eric Dumazet wrote:
> > Le mercredi 03 novembre 2010 à 22:12 -0600, Bjorn Helgaas a écrit :
> > > Hi,
> > >
> > > With current upstream, I see the following crash at boot-time:
> > >
> > > Brought up 64 CPUs
> > > Total of 64 processors activated (289366.52 BogoMIPS).
> > > divide error: 0000 [#1] SMP
> > > last sysfs file:
> > > CPU 1
> > > Modules linked in:
> > >
> > > Pid: 2, comm: kthreadd Not tainted 2.6.37-rc1-00027-gff8b16d #271 /ProLiant DL980 G7
> > > RIP: 0010:[<ffffffff81034645>] [<ffffffff81034645>] select_task_rq_fair+0x62a/0x7a0
> > >
> > > Complete dmesg below; let me know if you need more info.
> >
> > Is the machine runs OK if you build a kernel with NR_CPUS=128 ?
>
> Nope, it fails the same way with NR_CPUS=128. Dmesg below.

Sorry, just try 256 or 512, it seems you have a pretty big machine ?

8 nodes, but only nodes from 0-3 are populated.


2010-11-05 02:00:46

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

On Thu, Nov 04, 2010 at 03:37:54PM +0100, Eric Dumazet wrote:
> Le jeudi 04 novembre 2010 ? 08:28 -0600, Bjorn Helgaas a ?crit :
> > On Thu, Nov 04, 2010 at 06:19:52AM +0100, Eric Dumazet wrote:
> > > Le mercredi 03 novembre 2010 ? 22:12 -0600, Bjorn Helgaas a ?crit :
> > > > Hi,
> > > >
> > > > With current upstream, I see the following crash at boot-time:
> > > >
> > > > Brought up 64 CPUs
> > > > Total of 64 processors activated (289366.52 BogoMIPS).
> > > > divide error: 0000 [#1] SMP
> > > > last sysfs file:
> > > > CPU 1
> > > > Modules linked in:
> > > >
> > > > Pid: 2, comm: kthreadd Not tainted 2.6.37-rc1-00027-gff8b16d #271 /ProLiant DL980 G7
> > > > RIP: 0010:[<ffffffff81034645>] [<ffffffff81034645>] select_task_rq_fair+0x62a/0x7a0
> > > >
> > > > Complete dmesg below; let me know if you need more info.
> > >
> > > Is the machine runs OK if you build a kernel with NR_CPUS=128 ?
> >
> > Nope, it fails the same way with NR_CPUS=128. Dmesg below.
>
> Sorry, just try 256 or 512, it seems you have a pretty big machine ?

Is that going to help you debug the problem? The solution is not going
to be something like "set NR_CPUS=x". If NR_CPUS is too small, the
machine should still *boot*, even if we can't use all the CPUs in the
box.

Bjorn

2010-11-05 06:17:32

by Eric Dumazet

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

Le jeudi 04 novembre 2010 à 20:00 -0600, Bjorn Helgaas a écrit :

> Is that going to help you debug the problem? The solution is not going
> to be something like "set NR_CPUS=x". If NR_CPUS is too small, the
> machine should still *boot*, even if we can't use all the CPUs in the
> box.
>

Yes, it will help to understand the layout of cpu / domains and make
appropriate changes.

Alternative is you send me such a machine :=)

Thanks

2010-11-11 18:28:09

by Myron Stowe

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

On Fri, 2010-11-05 at 07:17 +0100, Eric Dumazet wrote:
> Le jeudi 04 novembre 2010 à 20:00 -0600, Bjorn Helgaas a écrit :
>
> > Is that going to help you debug the problem? The solution is not going
> > to be something like "set NR_CPUS=x". If NR_CPUS is too small, the
> > machine should still *boot*, even if we can't use all the CPUs in the
> > box.
> >
>
> Yes, it will help to understand the layout of cpu / domains and make
> appropriate changes.
>
> Alternative is you send me such a machine :=)

I opened a BZ on this issue as it seems to be a regression -
https://bugzilla.kernel.org/show_bug.cgi?id=22662

I also, as indicated in the BZ, bisected the kernel which gave the
following results and reverting 50f2d7f682f9c0ed58191d0982fe77888d59d162
did re-enable booting on the box in question (an HP dl980g7). Let me
know what further info you need or patches to test for debugging this.

Thanks,

commit 50f2d7f682f9c0ed58191d0982fe77888d59d162
Author: Nikanth Karthikesan <[email protected]>
Date: Thu Sep 30 17:34:10 2010 +0530

x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA

commit d9c2d5ac6af87b4491bff107113aaf16f6c2b2d9 "x86, numa: Use near(er)
online node instead of roundrobin for NUMA" changed NUMA initialization on
Intel to choose the nearest online node or first node. Fake NUMA would be
better of with round-robin initialization, instead of the all CPUS on
first node. Change the choice of first node, back to round-robin.

For testing NUMA kernel behaviour without cpusets and NUMA aware
applications, it would be better to have cpus in different nodes, rather
than all in a single node. With cpusets migration of tasks scenarios
cannot not be tested.

I guess having it round-robin shouldn't affect the use cases for all cpus
on the first node.

The code comments in arch/x86/mm/numa_64.c:759 indicate that this used to
be the case, which was changed by commit d9c2d5ac6. It changed from
roundrobin to nearer or first node. And I couldn't find any reason for
this change in its changelog.

Signed-off-by: Nikanth Karthikesan <[email protected]>
Cc: David Rientjes <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
>
> Thanks
>
>


--
Myron Stowe Linux Kernel Developer
Fort Collins, CO Office of Corporate Strategy and Technology

2010-11-12 06:19:09

by Nikanth Karthikesan

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

On Thursday 11 November 2010 23:58:04 Myron Stowe wrote:
> On Fri, 2010-11-05 at 07:17 +0100, Eric Dumazet wrote:
> > Le jeudi 04 novembre 2010 à 20:00 -0600, Bjorn Helgaas a écrit :
> > > Is that going to help you debug the problem? The solution is not going
> > > to be something like "set NR_CPUS=x". If NR_CPUS is too small, the
> > > machine should still *boot*, even if we can't use all the CPUs in the
> > > box.
> >
> > Yes, it will help to understand the layout of cpu / domains and make
> > appropriate changes.
> >
> > Alternative is you send me such a machine :=)
>
> I opened a BZ on this issue as it seems to be a regression -
> https://bugzilla.kernel.org/show_bug.cgi?id=22662
>
> I also, as indicated in the BZ, bisected the kernel which gave the
> following results and reverting 50f2d7f682f9c0ed58191d0982fe77888d59d162
> did re-enable booting on the box in question (an HP dl980g7). Let me
> know what further info you need or patches to test for debugging this.
>
> Thanks,
>
> commit 50f2d7f682f9c0ed58191d0982fe77888d59d162
> Author: Nikanth Karthikesan <[email protected]>
> Date: Thu Sep 30 17:34:10 2010 +0530
>
> x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA
>
> commit d9c2d5ac6af87b4491bff107113aaf16f6c2b2d9 "x86, numa: Use
> near(er) online node instead of roundrobin for NUMA" changed NUMA
> initialization on Intel to choose the nearest online node or first node.
> Fake NUMA would be better of with round-robin initialization, instead of
> the all CPUS on first node. Change the choice of first node, back to
> round-robin.
>
> For testing NUMA kernel behaviour without cpusets and NUMA aware
> applications, it would be better to have cpus in different nodes,
> rather than all in a single node. With cpusets migration of tasks
> scenarios cannot not be tested.
>
> I guess having it round-robin shouldn't affect the use cases for all
> cpus on the first node.
>
> The code comments in arch/x86/mm/numa_64.c:759 indicate that this used
> to be the case, which was changed by commit d9c2d5ac6. It changed from
> roundrobin to nearer or first node. And I couldn't find any reason for
> this change in its changelog.
>
> Signed-off-by: Nikanth Karthikesan <[email protected]>
> Cc: David Rientjes <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
>
> > Thanks
>

Can you try with this patch?

Thanks
Nikanth

Fallback to first node, if the node is not online.

Fixes regression of commit 50f2d7f682f9c0ed58191d0982fe77888d59d162
x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA

When some of the NUMA nodes are disabled, and the CPUs are assigned
in round-robin fashion, CPUs might be assigned to disabled nodes
resulting in the crash. While using round-robin assignment, check if the
node is online. If the node is not online, use the first online node.

Reported-by: Bjorn Helgaas <[email protected]>
Signed-off-by: Nikanth Karthikesan <[email protected]>

---

diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
index d16c2c5..f31237c 100644
--- a/arch/x86/kernel/cpu/intel.c
+++ b/arch/x86/kernel/cpu/intel.c
@@ -287,6 +287,8 @@ static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c)
if (node == NUMA_NO_NODE || !node_online(node)) {
/* reuse the value from init_cpu_to_node() */
node = cpu_to_node(cpu);
+ if (!node_online(node))
+ node = first_node(node_online_map);
}
numa_set_node(cpu, node);
#endif

2010-11-12 14:06:40

by Myron Stowe

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

On Fri, 2010-11-12 at 11:52 +0530, Nikanth Karthikesan wrote:
> On Thursday 11 November 2010 23:58:04 Myron Stowe wrote:
> > On Fri, 2010-11-05 at 07:17 +0100, Eric Dumazet wrote:
> > > Le jeudi 04 novembre 2010 à 20:00 -0600, Bjorn Helgaas a écrit :
> > > > Is that going to help you debug the problem? The solution is not going
> > > > to be something like "set NR_CPUS=x". If NR_CPUS is too small, the
> > > > machine should still *boot*, even if we can't use all the CPUs in the
> > > > box.
> > >
> > > Yes, it will help to understand the layout of cpu / domains and make
> > > appropriate changes.
> > >
> > > Alternative is you send me such a machine :=)
> >
> > I opened a BZ on this issue as it seems to be a regression -
> > https://bugzilla.kernel.org/show_bug.cgi?id=22662
> >
> > I also, as indicated in the BZ, bisected the kernel which gave the
> > following results and reverting 50f2d7f682f9c0ed58191d0982fe77888d59d162
> > did re-enable booting on the box in question (an HP dl980g7). Let me
> > know what further info you need or patches to test for debugging this.
> >
> > Thanks,
> >
> > commit 50f2d7f682f9c0ed58191d0982fe77888d59d162
> > Author: Nikanth Karthikesan <[email protected]>
> > Date: Thu Sep 30 17:34:10 2010 +0530
> >
> > x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA
> >
> > commit d9c2d5ac6af87b4491bff107113aaf16f6c2b2d9 "x86, numa: Use
> > near(er) online node instead of roundrobin for NUMA" changed NUMA
> > initialization on Intel to choose the nearest online node or first node.
> > Fake NUMA would be better of with round-robin initialization, instead of
> > the all CPUS on first node. Change the choice of first node, back to
> > round-robin.
> >
> > For testing NUMA kernel behaviour without cpusets and NUMA aware
> > applications, it would be better to have cpus in different nodes,
> > rather than all in a single node. With cpusets migration of tasks
> > scenarios cannot not be tested.
> >
> > I guess having it round-robin shouldn't affect the use cases for all
> > cpus on the first node.
> >
> > The code comments in arch/x86/mm/numa_64.c:759 indicate that this used
> > to be the case, which was changed by commit d9c2d5ac6. It changed from
> > roundrobin to nearer or first node. And I couldn't find any reason for
> > this change in its changelog.
> >
> > Signed-off-by: Nikanth Karthikesan <[email protected]>
> > Cc: David Rientjes <[email protected]>
> > Signed-off-by: Andrew Morton <[email protected]>
> >
> > > Thanks
> >
>
> Can you try with this patch?

Hi Nikanth:

I won't be working today - I'm taking my daughter for a college campus
visit (she is a senior in High School this year) - but I will try out
this patch this weekend and get back to you with the results.

Myron

>
> Thanks
> Nikanth
>
> Fallback to first node, if the node is not online.
>
> Fixes regression of commit 50f2d7f682f9c0ed58191d0982fe77888d59d162
> x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA
>
> When some of the NUMA nodes are disabled, and the CPUs are assigned
> in round-robin fashion, CPUs might be assigned to disabled nodes
> resulting in the crash. While using round-robin assignment, check if the
> node is online. If the node is not online, use the first online node.
>
> Reported-by: Bjorn Helgaas <[email protected]>
> Signed-off-by: Nikanth Karthikesan <[email protected]>
>
> ---
>
> diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
> index d16c2c5..f31237c 100644
> --- a/arch/x86/kernel/cpu/intel.c
> +++ b/arch/x86/kernel/cpu/intel.c
> @@ -287,6 +287,8 @@ static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c)
> if (node == NUMA_NO_NODE || !node_online(node)) {
> /* reuse the value from init_cpu_to_node() */
> node = cpu_to_node(cpu);
> + if (!node_online(node))
> + node = first_node(node_online_map);
> }
> numa_set_node(cpu, node);
> #endif
>


--
Myron Stowe Linux Kernel Developer
Fort Collins, CO Office of Corporate Strategy and Technology

2010-11-14 01:15:17

by Yinghai Lu

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

On Thu, Nov 11, 2010 at 10:28 AM, Myron Stowe <[email protected]> wrote:
> On Fri, 2010-11-05 at 07:17 +0100, Eric Dumazet wrote:
>> Le jeudi 04 novembre 2010 ? 20:00 -0600, Bjorn Helgaas a ?crit :
>>
>> > Is that going to help you debug the problem? ?The solution is not going
>> > to be something like "set NR_CPUS=x". ?If NR_CPUS is too small, the
>> > machine should still *boot*, even if we can't use all the CPUs in the
>> > box.
>> >
>>
>> Yes, it will help to understand the layout of cpu / domains and make
>> appropriate changes.
>>
>> Alternative is you send me such a machine :=)
>
> I opened a BZ on this issue as it seems to be a regression -
> https://bugzilla.kernel.org/show_bug.cgi?id=22662
>
> I also, as indicated in the BZ, bisected the kernel which gave the
> following results and reverting 50f2d7f682f9c0ed58191d0982fe77888d59d162
> did re-enable booting on the box in question (an HP dl980g7). ?Let me
> know what further info you need or patches to test for debugging this.
>
> Thanks,
>
> commit 50f2d7f682f9c0ed58191d0982fe77888d59d162
> Author: Nikanth Karthikesan <[email protected]>
> Date: ? Thu Sep 30 17:34:10 2010 +0530
>
> ? ?x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA
>
> ? ?commit d9c2d5ac6af87b4491bff107113aaf16f6c2b2d9 "x86, numa: Use near(er)
> ? ?online node instead of roundrobin for NUMA" changed NUMA initialization on
> ? ?Intel to choose the nearest online node or first node. ?Fake NUMA would be
> ? ?better of with round-robin initialization, instead of the all CPUS on
> ? ?first node. ?Change the choice of first node, back to round-robin.
>
> ? ?For testing NUMA kernel behaviour without cpusets and NUMA aware
> ? ?applications, it would be better to have cpus in different nodes, rather
> ? ?than all in a single node. ?With cpusets migration of tasks scenarios
> ? ?cannot not be tested.
>
> ? ?I guess having it round-robin shouldn't affect the use cases for all cpus
> ? ?on the first node.
>
> ? ?The code comments in arch/x86/mm/numa_64.c:759 indicate that this used to
> ? ?be the case, which was changed by commit d9c2d5ac6. ?It changed from
> ? ?roundrobin to nearer or first node. ?And I couldn't find any reason for
> ? ?this change in its changelog.
>
> ? ?Signed-off-by: Nikanth Karthikesan <[email protected]>
> ? ?Cc: David Rientjes <[email protected]>
> ? ?Signed-off-by: Andrew Morton <[email protected]>


please check

http://lkml.org/lkml/2010/11/13/176

Yinghai

2010-11-14 17:36:12

by Myron Stowe

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

On Fri, 2010-11-12 at 11:52 +0530, Nikanth Karthikesan wrote:
> On Thursday 11 November 2010 23:58:04 Myron Stowe wrote:
> > On Fri, 2010-11-05 at 07:17 +0100, Eric Dumazet wrote:
> > > Le jeudi 04 novembre 2010 à 20:00 -0600, Bjorn Helgaas a écrit :
> > > > Is that going to help you debug the problem? The solution is not going
> > > > to be something like "set NR_CPUS=x". If NR_CPUS is too small, the
> > > > machine should still *boot*, even if we can't use all the CPUs in the
> > > > box.
> > >
> > > Yes, it will help to understand the layout of cpu / domains and make
> > > appropriate changes.
> > >
> > > Alternative is you send me such a machine :=)
> >
> > I opened a BZ on this issue as it seems to be a regression -
> > https://bugzilla.kernel.org/show_bug.cgi?id=22662
> >
> > I also, as indicated in the BZ, bisected the kernel which gave the
> > following results and reverting 50f2d7f682f9c0ed58191d0982fe77888d59d162
> > did re-enable booting on the box in question (an HP dl980g7). Let me
> > know what further info you need or patches to test for debugging this.
> >
> > Thanks,
> >
> > commit 50f2d7f682f9c0ed58191d0982fe77888d59d162
> > Author: Nikanth Karthikesan <[email protected]>
> > Date: Thu Sep 30 17:34:10 2010 +0530
> >
> > x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA
> >
> > commit d9c2d5ac6af87b4491bff107113aaf16f6c2b2d9 "x86, numa: Use
> > near(er) online node instead of roundrobin for NUMA" changed NUMA
> > initialization on Intel to choose the nearest online node or first node.
> > Fake NUMA would be better of with round-robin initialization, instead of
> > the all CPUS on first node. Change the choice of first node, back to
> > round-robin.
> >
> > For testing NUMA kernel behaviour without cpusets and NUMA aware
> > applications, it would be better to have cpus in different nodes,
> > rather than all in a single node. With cpusets migration of tasks
> > scenarios cannot not be tested.
> >
> > I guess having it round-robin shouldn't affect the use cases for all
> > cpus on the first node.
> >
> > The code comments in arch/x86/mm/numa_64.c:759 indicate that this used
> > to be the case, which was changed by commit d9c2d5ac6. It changed from
> > roundrobin to nearer or first node. And I couldn't find any reason for
> > this change in its changelog.
> >
> > Signed-off-by: Nikanth Karthikesan <[email protected]>
> > Cc: David Rientjes <[email protected]>
> > Signed-off-by: Andrew Morton <[email protected]>
> >
> > > Thanks
> >
>
> Can you try with this patch?

I got the same divide error with this latest patch (see attachment). If
I revert commit 50f2d7f682f9, the platform boots successfully.

Thanks,

Myron

>
> Thanks
> Nikanth
>
> Fallback to first node, if the node is not online.
>
> Fixes regression of commit 50f2d7f682f9c0ed58191d0982fe77888d59d162
> x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA
>
> When some of the NUMA nodes are disabled, and the CPUs are assigned
> in round-robin fashion, CPUs might be assigned to disabled nodes
> resulting in the crash. While using round-robin assignment, check if the
> node is online. If the node is not online, use the first online node.
>
> Reported-by: Bjorn Helgaas <[email protected]>
> Signed-off-by: Nikanth Karthikesan <[email protected]>
>
> ---
>
> diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
> index d16c2c5..f31237c 100644
> --- a/arch/x86/kernel/cpu/intel.c
> +++ b/arch/x86/kernel/cpu/intel.c
> @@ -287,6 +287,8 @@ static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c)
> if (node == NUMA_NO_NODE || !node_online(node)) {
> /* reuse the value from init_cpu_to_node() */
> node = cpu_to_node(cpu);
> + if (!node_online(node))
> + node = first_node(node_online_map);
> }
> numa_set_node(cpu, node);
> #endif
>


--
Myron Stowe Linux Kernel Developer
Fort Collins, CO Office of Corporate Strategy and Technology


Attachments:
mfs (38.52 kB)

2010-11-14 19:11:09

by Yinghai Lu

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

On Sun, Nov 14, 2010 at 9:36 AM, Myron Stowe <[email protected]> wrote:
>
> I got the same divide error with this latest patch (see attachment). ?If
> I revert commit 50f2d7f682f9, the platform boots successfully.

please check patch in
http://lkml.org/lkml/2010/11/13/181

BTW, you also need to ask your BIOS guys to fix the SRAT table.
If you only have 128 cpu entries in MADT, SRAT table should have 128
cpu entries instead of 256 cpu entries
otherwise, RHEL 5.5 could have problem. it will throw away last cpu
entry in SRAT,
(NR_CPUS is 255..., and last entry still could point the right cpu in MADT)
Also BIOS should keep cpu entries in SRAT have same order to that in MADT.

Thanks

Yinghai

2010-11-18 23:32:45

by Myron Stowe

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

On Sun, 2010-11-14 at 11:11 -0800, Yinghai Lu wrote:
> On Sun, Nov 14, 2010 at 9:36 AM, Myron Stowe <[email protected]> wrote:
> >
> > I got the same divide error with this latest patch (see attachment). If
> > I revert commit 50f2d7f682f9, the platform boots successfully.
>
> please check patch in
> http://lkml.org/lkml/2010/11/13/181

I was able to test this patch and with it applied the system did boot
successfully.

While I think you are on the correct path with respect to this issue I
could not make any sense out of the patch heading and description.
Worse - I'm thinking that it is even mis-leading as currently written
(especially the patch heading).

Thanks,

Myron
>
> BTW, you also need to ask your BIOS guys to fix the SRAT table.
> If you only have 128 cpu entries in MADT, SRAT table should have 128
> cpu entries instead of 256 cpu entries
> otherwise, RHEL 5.5 could have problem. it will throw away last cpu
> entry in SRAT,
> (NR_CPUS is 255..., and last entry still could point the right cpu in MADT)
> Also BIOS should keep cpu entries in SRAT have same order to that in MADT.
>
> Thanks
>
> Yinghai
>


--
Myron Stowe Linux Kernel Developer
Fort Collins, CO Office of Corporate Strategy and Technology

2010-11-22 05:26:15

by Yinghai Lu

[permalink] [raw]
Subject: [PATCH] x86, acpi: Parse all SRAT cpu entries even have cpu num limitation


Recent Intel new system have different order in MADT, aka will list all thread0
at first, then all thread1.
But SRAT table still old order, it will list cpus in one socket all together.

If the user have compiled limited NR_CPUS or boot with nr_cpus=, could have missed
to put some cpus apic id to node mapping into apicid_to_node[].

for example for 4 sockets system with 64 cpus with nr_cpus=32 will get crash...

[ 9.106288] Total of 32 processors activated (136190.88 BogoMIPS).
[ 9.235021] divide error: 0000 [#1] SMP
[ 9.235315] last sysfs file:
[ 9.235481] CPU 1
[ 9.235592] Modules linked in:
[ 9.245398]
[ 9.245478] Pid: 2, comm: kthreadd Not tainted 2.6.37-rc1-tip-yh-01782-ge92ef79-dirty #274 /Sun Fire x4800
[ 9.265415] RIP: 0010:[<ffffffff81075a8f>] [<ffffffff81075a8f>] select_task_rq_fair+0x4f0/0x623
...
[ 9.645938] RIP [<ffffffff81075a8f>] select_task_rq_fair+0x4f0/0x623
[ 9.665356] RSP <ffff88103f8d1c40>
[ 9.665568] ---[ end trace 2296156d35fdfc87 ]---

So let just parse all cpu entries in SRAT.

Also add apicid checking with MAX_LOCAL_APIC, in case We could out of boundaries of
apicid_to_node[].

it fixes following bug too.
https://bugzilla.kernel.org/show_bug.cgi?id=22662

Reported-and-Tested-by: Wu Fengguang <[email protected]>
Reported-by: Bjorn Helgaas <[email protected]>
Tested-by: Myron Stowe <[email protected]>
Signed-off-by: Yinghai Lu <[email protected]>

---
arch/x86/kernel/acpi/boot.c | 7 +++++++
arch/x86/mm/srat_64.c | 8 ++++++++
drivers/acpi/numa.c | 14 ++++++++++++--
3 files changed, 27 insertions(+), 2 deletions(-)

Index: linux-2.6/arch/x86/kernel/acpi/boot.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/acpi/boot.c
+++ linux-2.6/arch/x86/kernel/acpi/boot.c
@@ -198,6 +198,13 @@ static void __cpuinit acpi_register_lapi
{
unsigned int ver = 0;

+#ifdef CONFIG_X86_64
+ if (id >= (MAX_APICS-1)) {
+ printk(KERN_INFO PREFIX "skipped apicid that is too big\n");
+ return;
+ }
+#endif
+
if (!enabled) {
++disabled_cpus;
return;
Index: linux-2.6/arch/x86/mm/srat_64.c
===================================================================
--- linux-2.6.orig/arch/x86/mm/srat_64.c
+++ linux-2.6/arch/x86/mm/srat_64.c
@@ -134,6 +134,10 @@ acpi_numa_x2apic_affinity_init(struct ac
}

apic_id = pa->apic_id;
+ if (apic_id >= MAX_LOCAL_APIC) {
+ printk(KERN_INFO "SRAT: PXM %u -> APIC 0x%04x -> Node %u skipped apicid is too big\n", pxm, apic_id, node);
+ return;
+ }
apicid_to_node[apic_id] = node;
node_set(node, cpu_nodes_parsed);
acpi_numa = 1;
@@ -168,6 +172,10 @@ acpi_numa_processor_affinity_init(struct
apic_id = (pa->apic_id << 8) | pa->local_sapic_eid;
else
apic_id = pa->apic_id;
+ if (apic_id >= MAX_LOCAL_APIC) {
+ printk(KERN_INFO "SRAT: PXM %u -> APIC 0x%02x -> Node %u skipped apicid that is too big\n", pxm, apic_id, node);
+ return;
+ }
apicid_to_node[apic_id] = node;
node_set(node, cpu_nodes_parsed);
acpi_numa = 1;
Index: linux-2.6/drivers/acpi/numa.c
===================================================================
--- linux-2.6.orig/drivers/acpi/numa.c
+++ linux-2.6/drivers/acpi/numa.c
@@ -275,13 +275,23 @@ acpi_table_parse_srat(enum acpi_srat_typ
int __init acpi_numa_init(void)
{
int ret = 0;
+ int nr_cpu_entries = nr_cpu_ids;
+
+#ifdef CONFIG_X86_64
+ /*
+ * Should not limit number with cpu num that is from NR_CPUS or nr_cpus=
+ * SRAT cpu entries could have different order with that in MADT.
+ * So go over all cpu entries in SRAT to get apicid to node mapping.
+ */
+ nr_cpu_entries = MAX_LOCAL_APIC;
+#endif

/* SRAT: Static Resource Affinity Table */
if (!acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat)) {
acpi_table_parse_srat(ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY,
- acpi_parse_x2apic_affinity, nr_cpu_ids);
+ acpi_parse_x2apic_affinity, nr_cpu_entries);
acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY,
- acpi_parse_processor_affinity, nr_cpu_ids);
+ acpi_parse_processor_affinity, nr_cpu_entries);
ret = acpi_table_parse_srat(ACPI_SRAT_TYPE_MEMORY_AFFINITY,
acpi_parse_memory_affinity,
NR_NODE_MEMBLKS);

2010-12-15 22:09:23

by Venkatesh Pallipadi

[permalink] [raw]
Subject: Re: divide error in select_task_rq_fair()

On Thu, Nov 18, 2010 at 3:32 PM, Myron Stowe <[email protected]> wrote:
> On Sun, 2010-11-14 at 11:11 -0800, Yinghai Lu wrote:
>> On Sun, Nov 14, 2010 at 9:36 AM, Myron Stowe <[email protected]> wrote:
>> >
>> > I got the same divide error with this latest patch (see attachment). ?If
>> > I revert commit 50f2d7f682f9, the platform boots successfully.
>>
>> please check patch in
>> http://lkml.org/lkml/2010/11/13/181
>
> I was able to test this patch and with it applied the system did boot
> successfully.
>


I have the same failure on one of my test systems and the patch here
does not seem to help. I see the same panic even with the patch. Below
is the partial log of the failure with the patch. Let me know if you
need any more information on the failure.

Thanks,
Venki


---
[ 0.000000] Kernel command line: oops=panic panic=10 io_delay=0xed
libata.force=qd1 nmi_watchdog=panic tco_start=1 auto BOOT_IMAGE=2637D
ro root=/dev/hda1,/dev/sda1 numa=fake=128M swiotlb=16000
console=ttyS0,115200n8
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] Checking aperture...
[ 0.000000] No AGP bridge found
[ 0.000000] Memory: 16487248k/17825792k available (4508k kernel
code, 1053252k absent, 285292k reserved, 4534k data, 1708k init)
[ 0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0,
CPUs=4, Nodes=127
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU-based detection of stalled CPUs is disabled.
[ 0.000000] NR_IRQS:4352 nr_irqs:1024 16
[ 0.000000] Console: colour dummy device 80x25
[ 0.000000] console [ttyS0] enabled
[ 0.000000] Fast TSC calibration using PIT
[ 0.000000] Detected 2799.956 MHz processor.
[ 0.002009] Calibrating delay loop (skipped), value calculated
using timer frequency.. 5599.91 BogoMIPS (lpj=2799956)
[ 0.004005] pid_max: default: 32768 minimum: 301
[ 0.008464] Security Framework initialized
[ 0.019786] Dentry cache hash table entries: 2097152 (order: 12,
16777216 bytes)
[ 0.037867] Inode-cache hash table entries: 1048576 (order: 11,
8388608 bytes)
[ 0.044401] Mount-cache hash table entries: 256
[ 0.047866] Initializing cgroup subsys cpuacct
[ 0.049064] CPU: Physical Processor ID: 0
[ 0.050005] CPU: Processor Core ID: 0
[ 0.051006] mce: CPU supports 4 MCE banks
[ 0.052016] CPU0: Thermal monitoring enabled (TM1)
[ 0.053009] using mwait in idle threads.
[ 0.054004] Performance Events: Netburst events, Netburst P4/Xeon PMU driver.
[ 0.057007] ... version: 0
[ 0.058004] ... bit width: 40
[ 0.059004] ... generic registers: 18
[ 0.060004] ... value mask: 000000ffffffffff
[ 0.061004] ... max period: 0000007fffffffff
[ 0.062004] ... fixed-purpose events: 0
[ 0.063004] ... event mask: 000000000003ffff
[ 0.064031] Freeing SMP alternatives: 20k freed
[ 0.065032] ACPI: Core revision 20101013
[ 0.073487] ftrace: allocating 21860 entries in 86 pages
[ 0.076205] Setting APIC routing to flat
[ 0.077401] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[ 0.088085] CPU0: Intel(R) Xeon(TM) CPU 2.80GHz stepping 01
[ 0.091999] Booting Node 1, Processors #1 Ok.
[ 0.164711] Booting Node 2, Processors #2 Ok.
[ 0.237728] Booting Node 3, Processors #3 Ok.
[ 0.311014] Brought up 4 CPUs
[ 0.312006] Total of 4 processors activated (22399.68 BogoMIPS).
[ 0.314669] divide error: 0000 [#1] SMP
[ 0.314999] last sysfs file:
[ 0.314999] CPU 1
[ 0.314999] Modules linked in:
[ 0.314999]
[ 0.314999] Pid: 2, comm: kthreadd Not tainted 2.6.37-smp-DEV #4
Unicorn_QCS_00 /E7320,6300ESB
[ 0.314999] RIP: 0010:[<ffffffff81062b55>] [<ffffffff81062b55>]
select_task_rq_fair+0x5dd/0x70a
[ 0.314999] RSP: 0000:ffff880008c65c00 EFLAGS: 00010046
[ 0.314999] RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000000
[ 0.314999] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000020
[ 0.314999] RBP: ffff880008c65cd0 R08: 0000000000000000 R09: 0000000000000000
[ 0.314999] R10: 000000000000037a R11: ffffffffffffffff R12: 0000000000011800
[ 0.314999] R13: ffff880013a0dbb0 R14: 0000000000000001 R15: ffff880013435020
[ 0.314999] FS: 0000000000000000(0000) GS:ffff880013a00000(0000)
knlGS:0000000000000000
[ 0.314999] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 0.314999] CR2: 0000000000000000 CR3: 0000000001803000 CR4: 00000000000006e0
[ 0.314999] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 0.314999] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 0.314999] Process kthreadd (pid: 2, threadinfo ffff880008c64000,
task ffff88030f8387b0)
[ 0.314999] Stack:
[ 0.314999] 0000000000020010 ffff880013435038 ffffea0000437340
ffff880008c0b440
[ 0.314999] ffffffffffffffff 0000000000000000 000000000000037a
0000000000000000
[ 0.314999] ffff880000000000 ffff880013440000 0000000000011800
0000000000011800
[ 0.314999] Call Trace:
[ 0.314999] [<ffffffff81067198>] select_task_rq+0x28/0x115
[ 0.314999] [<ffffffff810687e7>] wake_up_new_task+0x3d/0xe1
[ 0.314999] [<ffffffff8106c214>] do_fork+0x25f/0x2ab
[ 0.314999] [<ffffffff81032687>] ? __switch_to+0xea/0x212
[ 0.314999] [<ffffffff8103a25e>] kernel_thread+0x70/0x72
[ 0.314999] [<ffffffff81086771>] ? kthread+0x0/0x8a
[ 0.314999] [<ffffffff81034910>] ? kernel_thread_helper+0x0/0x10
[ 0.314999] [<ffffffff810868ec>] kthreadd+0xf1/0x12c
[ 0.314999] [<ffffffff81034914>] kernel_thread_helper+0x4/0x10
[ 0.314999] [<ffffffff810867fb>] ? kthreadd+0x0/0x12c
[ 0.314999] [<ffffffff81034910>] ? kernel_thread_helper+0x0/0x10
[ 0.314999] Code: 8b 8d 68 ff ff ff 4c 8b 95 60 ff ff ff 4c 8b 9d
50 ff ff ff 0f 8c 50 ff ff ff 41 8b 57 08 48 8b 45 c8 48 c1 e0 0a 48
89 d6 31 d2 <48> f7 f6 45 85 c0 75 13 4c 39 d8 73 0b 49 89 c3 4d 89 f9
4c 89
[ 0.314999] RIP [<ffffffff81062b55>] select_task_rq_fair+0x5dd/0x70a
[ 0.314999] RSP <ffff880008c65c00>
[ 0.345999] divide error: 0000 [#2]
[ 0.314999] ---[ end trace 4eaa2a86a8e2da22 ]---
[ 0.314999] Kernel panic - not syncing: Fatal exception
[ 0.314999] Pid: 2, comm: kthreadd Tainted: G D 2.6.37-smp-DEV #4
[ 0.314999] Call Trace:
[ 0.314999] [<ffffffff8145bd81>] panic+0x91/0x199
[ 0.314999] [<ffffffff8106d748>] ? kmsg_dump+0x117/0x131
[ 0.314999] [<ffffffff8145ef22>] oops_end+0xae/0xbe
[ 0.314999] [<ffffffff81036d31>] die+0x5a/0x63
[ 0.314999] [<ffffffff8145e921>] do_trap+0x121/0x130
[ 0.314999] [<ffffffff810351d8>] do_divide_error+0x90/0x99
[ 0.314999] [<ffffffff81062b55>] ? select_task_rq_fair+0x5dd/0x70a
[ 0.314999] [<ffffffff810e3518>] ? __alloc_pages_nodemask+0x154/0x69c
[ 0.314999] [<ffffffff81034735>] divide_error+0x15/0x20
[ 0.314999] [<ffffffff81062b55>] ? select_task_rq_fair+0x5dd/0x70a
[ 0.314999] [<ffffffff81067198>] select_task_rq+0x28/0x115
[ 0.314999] [<ffffffff810687e7>] wake_up_new_task+0x3d/0xe1
[ 0.314999] [<ffffffff8106c214>] do_fork+0x25f/0x2ab
[ 0.314999] [<ffffffff81032687>] ? __switch_to+0xea/0x212
[ 0.314999] [<ffffffff8103a25e>] kernel_thread+0x70/0x72
[ 0.314999] [<ffffffff81086771>] ? kthread+0x0/0x8a
[ 0.314999] [<ffffffff81034910>] ? kernel_thread_helper+0x0/0x10
[ 0.314999] [<ffffffff810868ec>] kthreadd+0xf1/0x12c
[ 0.314999] [<ffffffff81034914>] kernel_thread_helper+0x4/0x10
[ 0.314999] [<ffffffff810867fb>] ? kthreadd+0x0/0x12c
[ 0.314999] [<ffffffff81034910>] ? kernel_thread_helper+0x0/0x10
[ 0.345999] SMP
[ 0.345999] last sysfs file:
[ 0.345999] CPU 0
[ 0.345999] Modules linked in:
[ 0.345999]
[ 0.345999] Pid: 0, comm: swapper Tainted: G D
2.6.37-smp-DEV #4 Unicorn_QCS_00 /E7320,6300ESB
[ 0.345999] RIP: 0010:[<ffffffff81063484>] [<ffffffff81063484>]
find_busiest_group+0x3cb/0x946
[ 0.345999] RSP: 0018:ffff88000bc03b60 EFLAGS: 00010246
[ 0.345999] RAX: 0000000000000000 RBX: ffff88000bc0dbb0 RCX: 0000000000011800
[ 0.345999] RDX: 0000000000000000 RSI: 0000000000000020 RDI: 0000000000000000
[ 0.345999] RBP: ffff88000bc03d10 R08: 0000000000000000 R09: ffff880008c024b8
[ 0.345999] R10: 00000000ffffffff R11: 0000000000000000 R12: 0000000000000000
[ 0.345999] R13: ffff880008c024a0 R14: 0000000000000002 R15: 0000000000011800
[ 0.345999] FS: 0000000000000000(0000) GS:ffff88000bc00000(0000)
knlGS:0000000000000000
[ 0.345999] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 0.345999] CR2: 0000000000000000 CR3: 0000000001803000 CR4: 00000000000006f0
[ 0.345999] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 0.345999] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 0.345999] Process swapper (pid: 0, threadinfo ffffffff81800000,
task ffffffff8180b020)
[ 0.345999] Stack:
[ 0.345999] 00000000ffffffff 0000000000000000 0000000000011800
0000000000011800
[ 0.345999] ffff88000bc03df0 0000000000011818 0000000000011800
ffff88000bc0d7e0
[ 0.345999] 000000000000024d 0000000000000018 0000000000011800
ffff88000bc03dfc
[ 0.345999] Call Trace:
[ 0.345999] <IRQ>
[ 0.345999] [<ffffffff81067a81>] load_balance+0xcb/0x6ab
[ 0.345999] [<ffffffff8108bead>] ? sched_clock_local+0x1c/0x82
---

> While I think you are on the correct path with respect to this issue I
> could not make any sense out of the patch heading and description.
> Worse - I'm thinking that it is even mis-leading as currently written
> (especially the patch heading).
>
> Thanks,
>
> Myron
>>
>> BTW, you also need to ask your BIOS guys to fix the SRAT table.
>> If you only have 128 cpu entries in MADT, SRAT table should have 128
>> cpu entries instead of 256 cpu entries
>> otherwise, RHEL 5.5 could have problem. it will throw away last cpu
>> entry in SRAT,
>> ?(NR_CPUS is 255..., and last entry still could point the right cpu in MADT)
>> Also BIOS should keep cpu entries in SRAT have same order to that in MADT.
>>
>> Thanks
>>
>> Yinghai
>>
>
>
> --
> Myron Stowe ? ? ? ? ? ? ? ? ? ? ? ? ? ? Linux Kernel Developer
> Fort Collins, CO ? ? ? ? ? ? ? ? ? ? ? ?Office of Corporate Strategy and Technology
>
>