[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <175582091313.1266576.4329884314263043118.b4-ty@linux.dev>
Date: Thu, 21 Aug 2025 17:02:00 -0700
From: Oliver Upton <oliver.upton@...ux.dev>
To: Marc Zyngier <maz@...nel.org>,
Raghavendra Rao Ananta <rananta@...gle.com>
Cc: Oliver Upton <oliver.upton@...ux.dev>,
Mingwei Zhang <mizhang@...gle.com>,
linux-arm-kernel@...ts.infradead.org,
kvmarm@...ts.linux.dev,
linux-kernel@...r.kernel.org,
kvm@...r.kernel.org
Subject: Re: [PATCH v2 0/2] KVM: arm64: Reschedule as needed when destroying the stage-2 page-tables
On Wed, 20 Aug 2025 16:22:40 +0000, Raghavendra Rao Ananta wrote:
> When destroying a fully-mapped 128G VM abruptly, the following scheduler
> warning is observed:
>
> sched: CPU 0 need_resched set for > 100018840 ns (100 ticks) without schedule
> CPU: 0 UID: 0 PID: 9617 Comm: kvm_page_table_ Tainted: G O 6.16.0-smp-DEV #3 NONE
> Tainted: [O]=OOT_MODULE
> Call trace:
> show_stack+0x20/0x38 (C)
> dump_stack_lvl+0x3c/0xb8
> dump_stack+0x18/0x30
> resched_latency_warn+0x7c/0x88
> sched_tick+0x1c4/0x268
> update_process_times+0xa8/0xd8
> tick_nohz_handler+0xc8/0x168
> __hrtimer_run_queues+0x11c/0x338
> hrtimer_interrupt+0x104/0x308
> arch_timer_handler_phys+0x40/0x58
> handle_percpu_devid_irq+0x8c/0x1b0
> generic_handle_domain_irq+0x48/0x78
> gic_handle_irq+0x1b8/0x408
> call_on_irq_stack+0x24/0x30
> do_interrupt_handler+0x54/0x78
> el1_interrupt+0x44/0x88
> el1h_64_irq_handler+0x18/0x28
> el1h_64_irq+0x84/0x88
> stage2_free_walker+0x30/0xa0 (P)
> __kvm_pgtable_walk+0x11c/0x258
> __kvm_pgtable_walk+0x180/0x258
> __kvm_pgtable_walk+0x180/0x258
> __kvm_pgtable_walk+0x180/0x258
> kvm_pgtable_walk+0xc4/0x140
> kvm_pgtable_stage2_destroy+0x5c/0xf0
> kvm_free_stage2_pgd+0x6c/0xe8
> kvm_uninit_stage2_mmu+0x24/0x48
> kvm_arch_flush_shadow_all+0x80/0xa0
> kvm_mmu_notifier_release+0x38/0x78
> __mmu_notifier_release+0x15c/0x250
> exit_mmap+0x68/0x400
> __mmput+0x38/0x1c8
> mmput+0x30/0x68
> exit_mm+0xd4/0x198
> do_exit+0x1a4/0xb00
> do_group_exit+0x8c/0x120
> get_signal+0x6d4/0x778
> do_signal+0x90/0x718
> do_notify_resume+0x70/0x170
> el0_svc+0x74/0xd8
> el0t_64_sync_handler+0x60/0xc8
> el0t_64_sync+0x1b0/0x1b8
>
> [...]
Applied to fixes, thanks!
[1/2] KVM: arm64: Split kvm_pgtable_stage2_destroy()
https://git.kernel.org/kvmarm/kvmarm/c/0e89ca13ee5f
[2/2] KVM: arm64: Reschedule as needed when destroying the stage-2 page-tables
https://git.kernel.org/kvmarm/kvmarm/c/e9abe311f356
--
Best,
Oliver
Powered by blists - more mailing lists