From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756900Ab0JPX7P (ORCPT ); Sat, 16 Oct 2010 19:59:15 -0400 Received: from eddie.linux-mips.org ([78.24.191.182]:37046 "EHLO cvs.linux-mips.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756820Ab0JPX7O (ORCPT ); Sat, 16 Oct 2010 19:59:14 -0400 Date: Sun, 17 Oct 2010 00:59:11 +0100 (BST) From: "Maciej W. Rozycki" To: Cyrill Gorcunov 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 In-Reply-To: <20101016163657.GB6763@lenovo> Message-ID: References: <20101007030807.GA4076@redhat.com> <20101007072641.GE5010@basil.fritz.box> <20101007140112.GN10663@redhat.com> <20101010202357.GA28938@lenovo> <20101016153229.GA6763@lenovo> <20101016163657.GB6763@lenovo> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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