From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757321Ab0JQI6f (ORCPT ); Sun, 17 Oct 2010 04:58:35 -0400 Received: from mail-ew0-f46.google.com ([209.85.215.46]:65046 "EHLO mail-ew0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756197Ab0JQI6e (ORCPT ); Sun, 17 Oct 2010 04:58:34 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=cCGJXjyGvd7Z3TcYAeGT5tFCdSQJMiXxeJyQpOIL2dA0r9I27axJzT9TCBT1jCszNO BfaDm53a0ciVhA2NY4o8gBiAWibmkUjBDIm/VZBtcN/LK2ealNacUlh2QnG13eamw8NJ 3ikbvOhvtF456RDLXHAtBBqX1kNCT22nxRD54= Date: Sun, 17 Oct 2010 12:58:28 +0400 From: Cyrill Gorcunov To: "Maciej W. Rozycki" Cc: Don Zickus , Andi Kleen , mingo@elte.hu, fweisbec@gmail.com, robert.richter@amd.com, linux-kernel@vger.kernel.org Subject: Re: [RFC] arch generic way to trigger unknown NMIs Message-ID: <20101017085828.GA7925@lenovo> References: <20101007030807.GA4076@redhat.com> <20101007072641.GE5010@basil.fritz.box> <20101007140112.GN10663@redhat.com> <20101010202357.GA28938@lenovo> <20101016153229.GA6763@lenovo> <20101016163657.GB6763@lenovo> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Oct 17, 2010 at 12:59:11AM +0100, Maciej W. Rozycki wrote: > On Sat, 16 Oct 2010, Cyrill Gorcunov wrote: > > > > > Hi Maciej, the send_IPI_self could be modified to send NMI (at moment it > > > > uses self shortcut with fixed delivery mode). The question is rather if > > > > we need it without a real caller yet. When Don's patch gets merged we > > > > will have a real caller then and could update send_IPI_self to support > > > > NMI delivery mode. Something like that :) > > > > > > Sounds backwards to me. My understanding is a need has just arisen, so > > > why not: > > > > > > 1. Update send_IPI_self(). > > > > > > 2. Add code that makes use of the new functionality. > > > > > > 3. Submit all the changes as self-contained patches in a single series to > > > be applied at the same time. > > > > > > ? That's what I'd imagine the most natural way of doing this would be. > > > > Well, Maciej I believe the problem is not in modifying send_IPI_self > > but rather _how_ to make it more natural and do not introduce overhead. > > apic code is already weird enough :) Need to think. > > > > ( > > btw, we will have to add additional flag which would check for NMI > > being generated by "NMI-tester" and make a second apic write to > > ICR to deassert level line, ie it could be something like > > > > apic->send_IPI_self(NMI_VECTOR) ; with asserts level > > default_do_nmi() ; check for NMI being sent for testing purpose > > apic->send_IPI_self(NMI_VECTOR) ; with deasserts level > > > > iirc apic itself doesn't deassert nmi line on message with > > nmi deliver mode arrival > > ) > > How different is it to the other two send_IPI shorthand calls? Or the > fully-fledged one? I gather from this thread they already handle NMIs > properly, so what is there within that cannot simply be copied over to > this one? > > Maciej > Hmm, good question ;) I thought about 82489dx which required level trigger mode for nmi delivery, new (or present day) apics always use edge trigger mode so indeed there is no need for level assert/deassert. Cyrill