Re: [PATCH] NMI request/release, version 5 - I think this one's ready

John Levon (levon@movementarian.org)
Thu, 24 Oct 2002 19:04:35 +0100


On Thu, Oct 24, 2002 at 12:43:50PM -0500, Corey Minyard wrote:

> #define NOTIFY_DONE 0x0000 /* Don't care */
> #define NOTIFY_OK 0x0001 /* Suits me */
> #define NOTIFY_STOP_MASK 0x8000 /* Don't call further */
>
> I'mt taking these to mean that NOTIFY_DONE means you didn't handle it,
> NOTIFY_OK means you did handle it, and you "or" on NOTIFY_STOP_MASK if
> you want it to stop. I'm thinking that stopping is probably a bad idea,
> if the NMI is really edge triggered.

> There's a comment in do_nmi() that says that the NMI is edge triggered.

So there is. Darn. You could special case default_do_nmi, only printing
out "Unknown NMI" iff the reason inb() check fails, /and/ no previous
handlers set handled. Theoretically we have to take the cost of the
inb() every time otherwise we can lose one of the NMISC-based things in
default_do_nmi ... I can always see if this makes a noticable practical
difference for oprofile under high interrupt load

(I also need to be able to remove the NMI watchdog handler, but that's
an oprofile-specific problem).

Perhaps things will end being best to leave the current fast-path thing,
but we should make sure that we've explored the possibilities of
removing it first ;)

thanks
john

-- 
"This is playing, not work, therefore it's not a waste of time."
	- Zath
-
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/