Messages in this thread | | | Date | Thu, 19 Feb 2015 14:32:04 -0200 | Subject | Re: smp_call_function_single lockups | From | Rafael David Tinoco <> |
| |
For the host, we are using "intremap=no_x2apic_optout intel_idle.max_cstate=0" for cmdline. It looks like that DL360/DL380 Gen8 firmware still asks to optout from x2apic but HP engineering team said that using x2apic for Gen8 would be ok (intel_idle causes these servers to generate NMIs when idling, probably related to packed c-states and this server's dependency on acpi tables for c-state).
Feb 19 08:21:28 derain kernel: [ 3.504676] Enabled IRQ remapping in x2apic mode Feb 19 08:21:28 derain kernel: [ 3.565451] Enabling x2apic Feb 19 08:21:28 derain kernel: [ 3.602134] Enabled x2apic Feb 19 08:21:28 derain kernel: [ 3.637682] Switched APIC routing to cluster x2apic.
On Thu, Feb 19, 2015 at 2:26 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Thu, Feb 19, 2015 at 7:42 AM, Rafael David Tinoco <inaddy@ubuntu.com> wrote: >> >> Same environment as before: Nested KVM (2 vcpus) on top of Proliant >> DL380G8 with acpi_idle and no x2apic optout. > > Btw, which apic model does that end up using? Does "no x2apic optout" > mean you're using the x2apic? > > What does "dmesg | grep apic" report? Something like > > Switched APIC routing to cluster x2apic. > > or what? > > Side note to the apic guys: I think the "single CPU" case ends up > being one of the most important ones, but the stupid APIC model > doesn't allow that, so sending an IPI to a single CPU ends up being > "send a mask with a single bit set", and then we have that horrible > "for_each_cpu(cpu, mask)" crap. > > Would it make sense to perhaps add a "send_IPI_single()" function > call, and then for the APIC models that always are based on masks, use > a wrapper that just does that "cpumask_of(cpu)" thing.. > > Hmm? > > Linus
| |