Re: Lockdep warning with init_espfix_ap()
From: H. Peter Anvin
Date: Wed Oct 15 2014 - 11:57:14 EST
On 10/09/2014 08:35 AM, Prarit Bhargava wrote:
>
> Non-fatal warning seen with latest kernel tree during kernel boot.
>
> WARNING: CPU: 64 PID: 0 at kernel/locking/lockdep.c:2744
> lockdep_trace_alloc+0xdd/0xe0()
> DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))
> Modules linked in:
>
> CPU: 64 PID: 0 Comm: swapper/64 Not tainted 3.17.0+ #10
> Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS
> BIVTSDP1.86B.0049.R00.1403081207 03/08/2014
> 0000000000000000 d27b9ea0e3821f35 ffff88084edc3ce0 ffffffff8171cbd8
> ffff88084edc3d28 ffff88084edc3d18 ffffffff8108424d 0000000000000046
> 0000000000000000 00000000000000d0 0000000000000002 0000000000000000
> Call Trace:
> [<ffffffff8171cbd8>] dump_stack+0x4d/0x66
> [<ffffffff8108424d>] warn_slowpath_common+0x7d/0xa0
> [<ffffffff810842cc>] warn_slowpath_fmt+0x5c/0x80
> [<ffffffff810e3e2d>] lockdep_trace_alloc+0xdd/0xe0
> [<ffffffff811c0aaf>] __alloc_pages_nodemask+0x9f/0x4b0
> [<ffffffff81025365>] ? native_sched_clock+0x35/0xa0
> [<ffffffff810253d9>] ? sched_clock+0x9/0x10
> [<ffffffff8120981a>] alloc_page_interleave+0x3a/0x90
> [<ffffffff8120ae8d>] alloc_pages_current+0x17d/0x1f0
> [<ffffffff811bab24>] ? __get_free_pages+0x14/0x50
> [<ffffffff811bab24>] __get_free_pages+0x14/0x50
> [<ffffffff8102225d>] init_espfix_ap+0x17d/0x320
> [<ffffffff8105254e>] start_secondary+0x19e/0x350
> ---[ end trace 2b62d796aa7ae001 ]---
>
> Debugging ... but sorta hoping someone else may have already seen it ;)
>
It is kind of a messy situation, because this code needs to allocate
memory but is run before the secondary CPU is fully up. As such, it is
a false positive, at least in some ways.
-hpa
--
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/