Tested the membarrier expedited IPI loop on 6.8.0, and the call trace
points directly to a known race in multi_cpu_stop() on legacy multi-node
NUMA:

In 6.8.0, membarrier(MEMBARRIER_CMD_PRIVATE_EXPEDITED) heavily relies on 
cpu_stopper (the migration/X kernel threads) to force remote CPUs out of 
userspace. 
On AMD Opteron 6300 (Family 15h Bulldozer/Piledriver modules) across 4 NUMA 
nodes, KVM vCPU threads frequently enter idle/mwait while multi_cpu_stop is 
synchronizing. When the cpu_stopper thread on a remote core attempts to preempt 
a CPU that is transitioning through swapper, the scheduler detects a non-fatal 
signal/exit condition on the idle thread and panics with:
"Attempted to kill the idle task!"

Two practical tests to verify this on your DL385p hosts:

1. Test restricting idle C-states in /etc/default/grub:
processor.max_cstate=1 idle=nomwait

2. Or disable KVM halt-polling:
options kvm halt_poll_ns=0

If pinning idle states stops the multi_cpu_stop crash under your
Kubernetes/KVM load, this isolates the bug to the IPI/cpu_stopper race
with Opteron shared-FPU core modules on the 6.8 scheduler

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163642

Title:
  Kernel panic "Attempted to kill the idle task" on AMD Opteron multi-
  node NUMA under KVM (6.8.0-137)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2163642/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to