Hi Kristina, Thanks for the bug report. On Sat, Jul 01, 2023 at 01:50:52PM +0100, Kristina Martsenko wrote: > Hi, > > When I try to online a CPU on arm64 while a KVM guest is running, I hit a > BUG_ON(preemptible()) (as well as a WARN_ON). See below for the full log. > > This is on kvmarm/next, but seems to have been broken since 6.3. Bisecting it > points at commit: > > 0bf50497f03b ("KVM: Drop kvm_count_lock and instead protect kvm_usage_count with kvm_lock") Makes sense. We were using a spinlock before, which implictly disables preemption. Well, one way to hack around the problem would be to just cram preempt_{disable,enable}() into kvm_arch_hardware_disable(), but that's kinda gross in the context of cpuhp which isn't migratable in the first place. Let me have a look... -- Thanks, Oliver