lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 16 Sep 2010 22:18:33 +0200
From:	Stephane Eranian <eranian@...gle.com>
To:	Peter Zijlstra <peterz@...radead.org>
Cc:	Robert Richter <robert.richter@....com>,
	Ingo Molnar <mingo@...e.hu>, Don Zickus <dzickus@...hat.com>,
	"gorcunov@...il.com" <gorcunov@...il.com>,
	"fweisbec@...il.com" <fweisbec@...il.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"ying.huang@...el.com" <ying.huang@...el.com>,
	"ming.m.lin@...el.com" <ming.m.lin@...el.com>,
	"yinghai@...nel.org" <yinghai@...nel.org>,
	"andi@...stfloor.org" <andi@...stfloor.org>
Subject: Re: [PATCH] x86: fix duplicate calls of the nmi handler

On Thu, Sep 16, 2010 at 7:42 PM, Peter Zijlstra <peterz@...radead.org> wrote:
> On Fri, 2010-09-10 at 17:56 +0200, Robert Richter wrote:
>> The commit:
>>
>>  e40b172 x86: Move notify_die from nmi.c to traps.c
>>
>> moved the nmi handler call to default_do_nmi(). DIE_NMI_IPI and
>> DIE_NMI are called subsequently now. If the return code is
>> !NOTIFY_STOP, then the handlers are called twice. This patch fixes
>> this.
>
> What is this NMI_IPI thing, and why do we bother?
>
I think you only need to be on one of the callchains and most likely
the higher priority one. That's beauce you're using NMI for performance
monitoring and not debugging. Thus you expect a high rate of calls and
you don't want to be calling a bunch of other handlers for nothing.

The way the code is laid out in default_do_nmi() means that NMI_IPI
has higher priority over NMI. NMI also depends on X86_LOCAL_APIC,
but without it no PMU interrupts anyway.

The other thing to notice is that default_do_nmi() is the only place for
invoking NMI_IPI. I don't see the point of it vs. NMI (except APIC vs. no APIC).

Why not just have one level, NMI, and use the priority field to position
handlers correctly?

> If the hardware reason thin can discriminate between IPI and other NMIs
> we should never call both chains, if it cannot, why do we have 2 chains?
>
> In any case, I don't think perf/oprofile/etc,. should use NMI_IPI, that
> doesn't really make sense.
>
> Or am I totally confused about things here?
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ