Re: lock-up with module: Optimize __module_address() using a latched RB-tree

From: Arthur Marsh
Date: Tue Jul 07 2015 - 01:30:07 EST


I had a single, non-reproducible case of the same lock-up happening on my other machine running the Linus git head kernel in 64-bit mode.

The kernel was built very similarly to the 32-bit mode kernel, using:

CONCURRENCY_LEVEL=4 MAKEFLAGS="CC=gcc-5 LD=ld.gold KCFLAGS=-march=athlon64" \
make-kpkg --config menuconfig --initrd linux-image


That machine has the following cpu:

processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 5
model name : AMD Athlon(tm) II X4 640 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 3000.000
cache size : 512 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate npt lbrv svm_lock nrip_save vmmcall
bugs : tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
bogomips : 6015.47
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

The start of dmesg shows:

[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.2.0-rc1+ (root@am64) (gcc version 5.1.1 20150622 (Debian 5.1.1-12) ) #1815 SMP PREEMPT Tue Jul 7 13:13:00 ACST 2015
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.2.0-rc1+ root=UUID=39706f53-7c27-4310-b22a-36c7b042d1a1 ro radeon.audio=1
[ 0.000000] tseg: 0000000000
[ 0.000000] x86/fpu: Legacy x87 FPU detected.
[ 0.000000] x86/fpu: Using 'lazy' FPU context switches.
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009f000-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000e4000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cffaffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000cffb0000-0x00000000cffbdfff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000cffbe000-0x00000000cffdffff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000cffe0000-0x00000000cfffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000ff700000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000022fffffff] usable
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] SMBIOS 2.5 present.
[ 0.000000] DMI: System manufacturer System Product Name/M3A78 PRO, BIOS 1701 01/27/2011
[ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[ 0.000000] e820: last_pfn = 0x230000 max_arch_pfn = 0x400000000
[ 0.000000] MTRR default type: uncachable
[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] 00000-9FFFF write-back
[ 0.000000] A0000-EFFFF uncachable
[ 0.000000] F0000-FFFFF write-protect
[ 0.000000] MTRR variable ranges enabled:
[ 0.000000] 0 base 000000000000 mask FFFF80000000 write-back
[ 0.000000] 1 base 000080000000 mask FFFFC0000000 write-back
[ 0.000000] 2 base 0000C0000000 mask FFFFF0000000 write-back
[ 0.000000] 3 disabled
[ 0.000000] 4 disabled
[ 0.000000] 5 disabled
[ 0.000000] 6 disabled
[ 0.000000] 7 disabled
[ 0.000000] TOM2: 0000000230000000 aka 8960M
[ 0.000000] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WC UC- WT
[ 0.000000] e820: update [mem 0xd0000000-0xffffffff] usable ==> reserved
[ 0.000000] e820: last_pfn = 0xcffb0 max_arch_pfn = 0x400000000
[ 0.000000] found SMP MP-table at [mem 0x000ff780-0x000ff78f] mapped at [ffff8800000ff780]
[ 0.000000] Base memory trampoline at [ffff880000098000] 98000 size 28672
[ 0.000000] Using GB pages for direct mapping
[ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[ 0.000000] [mem 0x00000000-0x000fffff] page 4k
[ 0.000000] BRK [0x0292e000, 0x0292efff] PGTABLE
[ 0.000000] BRK [0x0292f000, 0x0292ffff] PGTABLE
[ 0.000000] BRK [0x02930000, 0x02930fff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0x22fe00000-0x22fffffff]
[ 0.000000] [mem 0x22fe00000-0x22fffffff] page 2M
[ 0.000000] BRK [0x02931000, 0x02931fff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0x220000000-0x22fdfffff]
[ 0.000000] [mem 0x220000000-0x22fdfffff] page 2M
[ 0.000000] init_memory_mapping: [mem 0x200000000-0x21fffffff]
[ 0.000000] [mem 0x200000000-0x21fffffff] page 2M
[ 0.000000] init_memory_mapping: [mem 0x00100000-0xcffaffff]
[ 0.000000] [mem 0x00100000-0x001fffff] page 4k
[ 0.000000] [mem 0x00200000-0x3fffffff] page 2M
[ 0.000000] [mem 0x40000000-0xbfffffff] page 1G
[ 0.000000] [mem 0xc0000000-0xcfdfffff] page 2M
[ 0.000000] [mem 0xcfe00000-0xcffaffff] page 4k
[ 0.000000] init_memory_mapping: [mem 0x100000000-0x1ffffffff]
[ 0.000000] [mem 0x100000000-0x1ffffffff] page 1G
[ 0.000000] RAMDISK: [mem 0x35f72000-0x36fb0fff]
[ 0.000000] ACPI: Early table checksum verification disabled
[ 0.000000] ACPI: RSDP 0x00000000000FA820 000024 (v02 ACPIAM)
[ 0.000000] ACPI: XSDT 0x00000000CFFB0100 00005C (v01 012711 OEMXSDT 20110127 MSFT 00000097)
[ 0.000000] ACPI: FACP 0x00000000CFFB0290 0000F4 (v03 012711 OEMFACP 20110127 MSFT 00000097)
[ 0.000000] ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/Gpe0Block: 64/32 (20150619/tbfadt-623)
[ 0.000000] ACPI: DSDT 0x00000000CFFB0450 0090C5 (v01 P0020 P0020000 00000000 INTL 20051117)
[ 0.000000] ACPI: FACS 0x00000000CFFBE000 000040
[ 0.000000] ACPI: FACS 0x00000000CFFBE000 000040
[ 0.000000] ACPI: APIC 0x00000000CFFB0390 00007C (v01 012711 OEMAPIC 20110127 MSFT 00000097)
[ 0.000000] ACPI: MCFG 0x00000000CFFB0410 00003C (v01 012711 OEMMCFG 20110127 MSFT 00000097)
[ 0.000000] ACPI: OEMB 0x00000000CFFBE040 000071 (v01 012711 AMI_OEM 20110127 MSFT 00000097)
[ 0.000000] ACPI: SRAT 0x00000000CFFB9520 0000E8 (v03 AMD FAM_F_10 00000002 AMD 00000001)
[ 0.000000] ACPI: HPET 0x00000000CFFB9610 000038 (v01 012711 OEMHPET 20110127 MSFT 00000097)
[ 0.000000] ACPI: SSDT 0x00000000CFFB9650 00088C (v01 A M I POWERNOW 00000001 AMD 00000001)
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] [ffffea0000000000-ffffea0008bfffff] PMD -> [ffff880227600000-ffff88022f5fffff] on node 0
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000001000-0x0000000000ffffff]
[ 0.000000] DMA32 [mem 0x0000000001000000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x000000022fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000001000-0x000000000009efff]
[ 0.000000] node 0: [mem 0x0000000000100000-0x00000000cffaffff]
[ 0.000000] node 0: [mem 0x0000000100000000-0x000000022fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000022fffffff]
[ 0.000000] On node 0 totalpages: 2096974
[ 0.000000] DMA zone: 64 pages used for memmap
[ 0.000000] DMA zone: 22 pages reserved
[ 0.000000] DMA zone: 3998 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 13247 pages used for memmap
[ 0.000000] DMA32 zone: 847792 pages, LIFO batch:31
[ 0.000000] Normal zone: 19456 pages used for memmap
[ 0.000000] Normal zone: 1245184 pages, LIFO batch:31
[ 0.000000] ACPI: PM-Timer IO Port: 0x808
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] IOAPIC[0]: apic_id 4, version 33, address 0xfec00000, GSI 0-23
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
[ 0.000000] ACPI: IRQ0 used by override.
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] ACPI: HPET id: 0x8300 base: 0xfed00000
[ 0.000000] smpboot: Allowing 6 CPUs, 2 hotplug CPUs
[ 0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000e3fff]
[ 0.000000] PM: Registered nosave memory: [mem 0x000e4000-0x000fffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xcffb0000-0xcffbdfff]
[ 0.000000] PM: Registered nosave memory: [mem 0xcffbe000-0xcffdffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xcffe0000-0xcfffffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xd0000000-0xff6fffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xff700000-0xffffffff]
[ 0.000000] e820: [mem 0xd0000000-0xff6fffff] available for PCI devices
[ 0.000000] Booting paravirtualized kernel on bare hardware
[ 0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[ 0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:6 nr_node_ids:1
[ 0.000000] PERCPU: Embedded 31 pages/cpu @ffff88022fc00000 s88840 r8192 d29944 u262144
[ 0.000000] pcpu-alloc: s88840 r8192 d29944 u262144 alloc=1*2097152
[ 0.000000] pcpu-alloc: [0] 0 1 2 3 4 5 - -
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 2064185
[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-4.2.0-rc1+ root=UUID=39706f53-7c27-4310-b22a-36c7b042d1a1 ro radeon.audio=1
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes)
[ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes)
[ 0.000000] Memory: 8134376K/8387896K available (5820K kernel code, 810K rwdata, 2524K rodata, 928K init, 13772K bss, 253520K reserved, 0K cma-reserved)

If I get any repeat lock-ups on the machine running the kernel in 64 bit mode I'll try to photograph them.

Arthur.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/