lkml.org 
[lkml]   [2008]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH] nmi watchdog: handle NMI_IO_APIC on nmi_watchdog
On Wed, 22 Oct 2008, Aristeu Rozanski wrote:

> > > static void __acpi_nmi_disable(void *__unused)
> > > {
> > > apic_write(APIC_LVT0, APIC_DM_NMI | APIC_LVT_MASKED);
> > > }
> > >
> > > do you think this isn't enough?
> >
> > but this stops all NMIs, not just the IO-APIC generated ones, doesnt it?
> external NMIs would come by LINT1, no?

Correct.

> after reading a lot and talking with Vivek, what I understood was that 8259 is
> also connected to LINT0, so timer interrupts would be reported both in
> IOAPIC and on LINT0. LVT0 is being configured on setup_nmi() to generate
> an NMI. Also, the same timer interrupt would generate an regular interrupt
> coming from IOAPIC. Clearing the APIC_DM_NMI on LVT0 would disable the
> NMI delivery, but not the regular interrupt.
> or am I missing something here?

You are correct. The routing of the 8254 timer interrupt may vary, but
the NMI watchdog it drives, if supported, always uses the LINT0 input of
all the local APICs.

You seem to be writing in reply to a very old thread -- please make sure
your concerns are still valid with current code. For example we have an
implementation of __acpi_nmi_disable() now, which is exactly your proposed
one.

Maciej


\
 
 \ /
  Last update: 2008-10-23 00:49    [W:1.170 / U:1.528 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site