Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752047AbbBSQcK (ORCPT ); Thu, 19 Feb 2015 11:32:10 -0500 Received: from mail-qg0-f51.google.com ([209.85.192.51]:53745 "EHLO mail-qg0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751730AbbBSQcI (ORCPT ); Thu, 19 Feb 2015 11:32:08 -0500 MIME-Version: 1.0 X-Originating-IP: [191.180.238.226] In-Reply-To: References: <20150218222544.GA17717@twins.programming.kicks-ass.net> Date: Thu, 19 Feb 2015 14:32:04 -0200 Message-ID: Subject: Re: smp_call_function_single lockups From: Rafael David Tinoco To: Linus Torvalds Cc: Peter Zijlstra , LKML , Jens Axboe , Frederic Weisbecker , Gema Gomez , chris.j.arges@canonical.com, "the arch/x86 maintainers" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2004 Lines: 48 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 wrote: > On Thu, Feb 19, 2015 at 7:42 AM, Rafael David Tinoco 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/