|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Lockdep show 6.6-rc regression in Xen HVM CPU hotplug
Since commit 87797fad6cce ("xen/events: replace evtchn_rwlock with
RCU"), I can no longer hotplug CPUs under Xen with lockdep enabled.
(This is real Xen 4.17.1; annoyingly I have different failure modes
with Xen guests under qemu/kvm and I'll deal with those next.)
Offlining complains thus:
[root@localhost cpu1]# echo 0 > online
[ 52.936265]
[ 52.936271] =============================
[ 52.936274] WARNING: suspicious RCU usage
[ 52.936277] 6.6.0-rc5+ #1357 Not tainted
[ 52.936280] -----------------------------
[ 52.936282] lib/maple_tree.c:856 suspicious rcu_dereference_check() usage!
[ 52.936287]
[ 52.936287] other info that might help us debug this:
[ 52.936287]
[ 52.936289]
[ 52.936289] RCU used illegally from offline CPU!
[ 52.936289] rcu_scheduler_active = 2, debug_locks = 1
[ 52.936293] 1 lock held by swapper/1/0:
[ 52.936296] #0: ffffffff89c03820 (rcu_read_lock){....}-{1:3}, at:
mtree_load+0x90/0x590
[ 52.936321]
[ 52.936321] stack backtrace:
[ 52.936324] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.6.0-rc5+ #1357
[ 52.936329] Hardware name: Xen HVM domU, BIOS 4.17.1 09/26/2023
[ 52.936332] Call Trace:
[ 52.936335] <TASK>
[ 52.936340] dump_stack_lvl+0x5b/0x90
[ 52.936350] lockdep_rcu_suspicious+0x15a/0x1c0
[ 52.936366] mtree_load+0x49e/0x590
[ 52.936385] irq_get_irq_data+0xe/0x20
[ 52.936394] xen_send_IPI_one+0xa4/0x100
[ 52.936404] __xen_send_IPI_mask+0x1b/0x50
[ 52.936414] generic_exec_single+0x35/0x1c0
[ 52.936423] smp_call_function_single+0xc2/0x140
[ 52.936436] ? cpuhp_report_idle_dead+0x42/0x60
[ 52.936444] do_idle+0xda/0xe0
[ 52.936451] cpu_startup_entry+0x2a/0x30
[ 52.936456] start_secondary+0x123/0x140
[ 52.936465] secondary_startup_64_no_verify+0x178/0x17b
[ 52.936490] </TASK>
[ 52.936492]
[ 52.936494] =============================
[ 52.936496] WARNING: suspicious RCU usage
[ 52.936498] 6.6.0-rc5+ #1357 Not tainted
[ 52.936500] -----------------------------
[ 52.936502] lib/maple_tree.c:812 suspicious rcu_dereference_check() usage!
[ 52.936505]
[ 52.936505] other info that might help us debug this:
[ 52.936505]
[ 52.936507]
[ 52.936507] RCU used illegally from offline CPU!
[ 52.936507] rcu_scheduler_active = 2, debug_locks = 1
[ 52.936510] 1 lock held by swapper/1/0:
[ 52.936513] #0: ffffffff89c03820 (rcu_read_lock){....}-{1:3}, at:
mtree_load+0x90/0x590
[ 52.936530]
[ 52.936530] stack backtrace:
[ 52.936532] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.6.0-rc5+ #1357
[ 52.936536] Hardware name: Xen HVM domU, BIOS 4.17.1 09/26/2023
[ 52.936538] Call Trace:
[ 52.936540] <TASK>
[ 52.936543] dump_stack_lvl+0x5b/0x90
[ 52.936549] lockdep_rcu_suspicious+0x15a/0x1c0
[ 52.936562] mtree_load+0x3b7/0x590
[ 52.936580] irq_get_irq_data+0xe/0x20
[ 52.936586] xen_send_IPI_one+0xa4/0x100
[ 52.936594] __xen_send_IPI_mask+0x1b/0x50
[ 52.936601] generic_exec_single+0x35/0x1c0
[ 52.936609] smp_call_function_single+0xc2/0x140
[ 52.936621] ? cpuhp_report_idle_dead+0x42/0x60
[ 52.936626] do_idle+0xda/0xe0
[ 52.936632] cpu_startup_entry+0x2a/0x30
[ 52.936643] start_secondary+0x123/0x140
[ 52.936649] secondary_startup_64_no_verify+0x178/0x17b
[ 52.936672] </TASK>
[ 52.937164] smpboot: CPU 1 is now offline
[root@localhost cpu1]#
Onlining triple-faults:
[root@localhost cpu1]# echo 1 > online
[ 58.049051] installing Xen timer for CPU 1
[ 58.051533] smpboot: Booting Node 0 Processor 1 APIC 0x2
... and it dumps me back to the host prompt, where 'xl dmesg' says:
(XEN) *** Dumping Dom7 vcpu#1 state: ***
(XEN) ----[ Xen-4.17.1 x86_64 debug=n Not tainted ]----
(XEN) CPU: 6
(XEN) RIP: 0010:[<ffffffff88041879>]
(XEN) RFLAGS: 0000000000010002 CONTEXT: hvm guest (d7v1)
(XEN) rax: 0000000000000001 rbx: 0000000000000000 rcx: 0000000000000008
(XEN) rdx: fffffe0000001000 rsi: ffff8f364e10b048 rdi: 0000000000000001
(XEN) rbp: 0000000000000000 rsp: ffffa6f6400aff38 r8: 00000000fffffe5b
(XEN) r9: 0000000000000000 r10: ffff8f364e106078 r11: 0000000000000000
(XEN) r12: 0000000000000000 r13: 0000000000000000 r14: 0000000000000000
(XEN) r15: 0000000000000000 cr0: 0000000080050033 cr4: 00000000001300a0
(XEN) cr3: 000000002583c000 cr2: 0000000000000000
(XEN) fsb: 0000000000000000 gsb: ffff8f364e100000 gss: 0000000000000000
(XEN) ds: 0000 es: 0000 fs: 0000 gs: 0000 ss: 0000 cs: 0010
Not 100% sure where ffffffff88041879 is but there's a 'ud' at
0xffffffff81041879 in load_current_idt() for the
lockdep_assert_irqs_disabled().
And yes, if I comment that assertion out then onlining does succeed
without a triplefault but with a different warning:
[root@localhost cpu1]# echo 1 > online
[ 35.843897] installing Xen timer for CPU 1
[ 35.846134] smpboot: Booting Node 0 Processor 1 APIC 0x2
[ 35.847297] ------------[ cut here ]------------
[ 35.847307] WARNING: CPU: 1 PID: 0 at arch/x86/kernel/cpu/common.c:454
cr4_update_irqsoff+0x32/0x60
[ 35.847323] Modules linked in:
[ 35.847329] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.6.0-rc5+ #1358
[ 35.847335] Hardware name: Xen HVM domU, BIOS 4.17.1 09/26/2023
[ 35.847338] RIP: 0010:cr4_update_irqsoff+0x32/0x60
[ 35.847345] Code: 89 f7 65 48 8b 15 86 0a fd 68 8b 0d 60 1b dc 01 85 c9 74
18 65 8b 0d 1d f8 fb 68 85 c9 75 0d 65 8b 0d 0e f6 fb 68 85 c9 74 02 <0f> 0b 48
f7 d7 48 21 d7 48 09 c7 48 39 fa 75 05 c3 cc cc cc cc 65
[ 35.847350] RSP: 0000:ffffad98400aff18 EFLAGS: 00010002
[ 35.847356] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000001
[ 35.847359] RDX: 00000000001300a0 RSI: 000000000000000f RDI: 000000000000000f
[ 35.847362] RBP: ffff9c7a81398000 R08: 00000000fffffe14 R09: 0000000000000000
[ 35.847365] R10: ffff9c7ace106078 R11: 0000000000000000 R12: 0000000000000001
[ 35.847368] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 35.847372] FS: 0000000000000000(0000) GS:ffff9c7ace100000(0000)
knlGS:0000000000000000
[ 35.847376] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 35.847379] CR2: 0000000000000000 CR3: 000000002883c000 CR4: 00000000001300a0
[ 35.847385] Call Trace:
[ 35.847389] <TASK>
[ 35.847392] ? cr4_update_irqsoff+0x32/0x60
[ 35.847398] ? __warn+0x85/0x170
[ 35.847410] ? cr4_update_irqsoff+0x32/0x60
[ 35.847419] ? report_bug+0x171/0x1a0
[ 35.847432] ? handle_bug+0x3c/0x80
[ 35.847438] ? exc_invalid_op+0x17/0x70
[ 35.847443] ? asm_exc_invalid_op+0x1a/0x20
[ 35.847464] ? cr4_update_irqsoff+0x32/0x60
[ 35.847473] cpu_init+0x58/0x1a0
[ 35.847482] start_secondary+0x31/0x140
[ 35.847490] ? __pfx_start_secondary+0x10/0x10
[ 35.847496] secondary_startup_64_no_verify+0x178/0x17b
[ 35.847519] </TASK>
[ 35.847522] irq event stamp: 111393
[ 35.847524] hardirqs last enabled at (111393): [<ffffffff9773008a>]
acpi_idle_play_dead+0x4a/0x70
[ 35.847533] hardirqs last disabled at (111392): [<ffffffff97126ca2>]
do_idle+0x92/0xe0
[ 35.847540] softirqs last enabled at (111328): [<ffffffff97d084a6>]
__do_softirq+0x2e6/0x3a9
[ 35.847549] softirqs last disabled at (111315): [<ffffffff970bbdbb>]
__irq_exit_rcu+0xab/0xd0
[ 35.847555] ---[ end trace 0000000000000000 ]---
[ 35.847585] ------------[ cut here ]------------
[ 35.847588] WARNING: CPU: 1 PID: 0 at kernel/rcu/tree.c:4429
rcu_cpu_starting+0x16b/0x1d0
[ 35.847602] Modules linked in:
[ 35.847606] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G W
6.6.0-rc5+ #1358
[ 35.847610] Hardware name: Xen HVM domU, BIOS 4.17.1 09/26/2023
[ 35.847613] RIP: 0010:rcu_cpu_starting+0x16b/0x1d0
[ 35.847620] Code: cc 65 8b 05 97 64 e9 68 85 c0 75 cd 65 8b 05 88 62 e9 68
85 c0 74 c2 0f 0b eb be 65 8b 05 79 62 e9 68 85 c0 0f 84 bf fe ff ff <0f> 0b e9
b8 fe ff ff 89 c6 4c 89 ef e8 04 06 b8 00 90 e9 eb fe ff
[ 35.847624] RSP: 0000:ffffad98400aff10 EFLAGS: 00010002
[ 35.847628] RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000000000000
[ 35.847631] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000001
[ 35.847633] RBP: 0000000000000000 R08: 000000001883c000 R09: 0000000000000000
[ 35.847636] R10: ffff9c7ace106078 R11: 0000000000000000 R12: 0000000000000000
[ 35.847639] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 35.847642] FS: 0000000000000000(0000) GS:ffff9c7ace100000(0000)
knlGS:0000000000000000
[ 35.847645] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 35.847648] CR2: 0000000000000000 CR3: 000000002883c001 CR4: 00000000001706a0
[ 35.847651] Call Trace:
[ 35.847654] <TASK>
[ 35.847656] ? rcu_cpu_starting+0x16b/0x1d0
[ 35.847663] ? __warn+0x85/0x170
[ 35.847681] ? rcu_cpu_starting+0x16b/0x1d0
[ 35.847691] ? report_bug+0x171/0x1a0
[ 35.847701] ? handle_bug+0x3c/0x80
[ 35.847706] ? exc_invalid_op+0x17/0x70
[ 35.847711] ? asm_exc_invalid_op+0x1a/0x20
[ 35.847729] ? rcu_cpu_starting+0x16b/0x1d0
[ 35.847742] start_secondary+0x42/0x140
[ 35.847747] ? __pfx_start_secondary+0x10/0x10
[ 35.847753] secondary_startup_64_no_verify+0x178/0x17b
[ 35.847774] </TASK>
[ 35.847775] irq event stamp: 111393
[ 35.847778] hardirqs last enabled at (111393): [<ffffffff9773008a>]
acpi_idle_play_dead+0x4a/0x70
[ 35.847783] hardirqs last disabled at (111392): [<ffffffff97126ca2>]
do_idle+0x92/0xe0
[ 35.847788] softirqs last enabled at (111328): [<ffffffff97d084a6>]
__do_softirq+0x2e6/0x3a9
[ 35.847795] softirqs last disabled at (111315): [<ffffffff970bbdbb>]
__irq_exit_rcu+0xab/0xd0
[ 35.847799] ---[ end trace 0000000000000000 ]---
[ 35.847810] ------------[ cut here ]------------
[ 35.847842] WARNING: CPU: 1 PID: 0 at kernel/rcu/tree.c:4462
rcu_cpu_starting+0x158/0x1d0
[ 35.847851] Modules linked in:
[ 35.847855] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G W
6.6.0-rc5+ #1358
[ 35.847859] Hardware name: Xen HVM domU, BIOS 4.17.1 09/26/2023
[ 35.847862] RIP: 0010:rcu_cpu_starting+0x158/0x1d0
[ 35.847869] Code: 01 f0 83 44 24 fc 00 5b 5d 41 5c 41 5d 41 5e c3 cc cc cc
cc 65 8b 05 97 64 e9 68 85 c0 75 cd 65 8b 05 88 62 e9 68 85 c0 74 c2 <0f> 0b eb
be 65 8b 05 79 62 e9 68 85 c0 0f 84 bf fe ff ff 0f 0b e9
[ 35.847872] RSP: 0000:ffffad98400aff10 EFLAGS: 00010002
[ 35.847877] RAX: 0000000000000001 RBX: ffff9c7ace130280 RCX: 4000000000001492
[ 35.847880] RDX: 3fffffffffffffff RSI: ffffffff98c03d18 RDI: ffff9c7a81398d48
[ 35.847883] RBP: ffffffff98c03d00 R08: 0000000000000001 R09: 000000000000003e
[ 35.847886] R10: 0000000000000000 R11: ffff9c7a81398d48 R12: 0000000000000002
[ 35.847889] R13: ffffffff98cb7280 R14: 0000000000000000 R15: 0000000000000000
[ 35.847892] FS: 0000000000000000(0000) GS:ffff9c7ace100000(0000)
knlGS:0000000000000000
[ 35.847895] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 35.847898] CR2: 0000000000000000 CR3: 000000002883c001 CR4: 00000000001706a0
[ 35.847901] Call Trace:
[ 35.847903] <TASK>
[ 35.847905] ? rcu_cpu_starting+0x158/0x1d0
[ 35.847912] ? __warn+0x85/0x170
[ 35.847919] ? rcu_cpu_starting+0x158/0x1d0
[ 35.847929] ? report_bug+0x171/0x1a0
[ 35.847940] ? handle_bug+0x3c/0x80
[ 35.847958] ? exc_invalid_op+0x17/0x70
[ 35.847960] ? asm_exc_invalid_op+0x1a/0x20
[ 35.847969] ? rcu_cpu_starting+0x158/0x1d0
[ 35.847976] start_secondary+0x42/0x140
[ 35.847978] ? __pfx_start_secondary+0x10/0x10
[ 35.847981] secondary_startup_64_no_verify+0x178/0x17b
[ 35.847991] </TASK>
[ 35.847992] irq event stamp: 111393
[ 35.847993] hardirqs last enabled at (111393): [<ffffffff9773008a>]
acpi_idle_play_dead+0x4a/0x70
[ 35.847996] hardirqs last disabled at (111392): [<ffffffff97126ca2>]
do_idle+0x92/0xe0
[ 35.847998] softirqs last enabled at (111328): [<ffffffff97d084a6>]
__do_softirq+0x2e6/0x3a9
[ 35.848001] softirqs last disabled at (111315): [<ffffffff970bbdbb>]
__irq_exit_rcu+0xab/0xd0
[ 35.848003] ---[ end trace 0000000000000000 ]---
[ 35.850720] cpu 1 spinlock event irq 57
Attachment:
smime.p7s
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |