On Mon, Oct 21, 2002 at 08:32:47PM -0500, Corey Minyard wrote:
> The attached patch implements a way to request to receive an NMI if it
> comes from an otherwise unknown source. I needed this for handling NMIs
> with the IPMI watchdog. This function was discussed a little a while
Then NMI watchdog and oprofile should be changed to use this too. We
also need priority and/or equivalent of NOTIFY_STOP_MASK so we can break
out of calling all the handlers. Actually, why do you continue if one
of the handlers returns 1 anyway ?
> + atomic_inc(&calling_nmi_handlers);
Isn't this going to cause cacheline ping pong ?
> + curr = nmi_handler_list;
> + while (curr) {
> + handled |= curr->handler(curr->dev_id, regs);
dev_name is never used at all. What is it for ? Also, would be nice
to do an smp_processor_id() just once and pass that in to prevent
multiple calls to get_current().
Couldn't you modify the notifier code to do the xchg()s (though that's
not available on all CPU types ...)
> +#define HAVE_NMI_HANDLER 1
What uses this ?
> + volatile struct nmi_handler *next;
Hmm ...
Is it not possible to use linux/rcupdate.h for this stuff ?
regards
john
-- "Lots of companies would love to be in our hole." - Scott McNealy - 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/
This archive was generated by hypermail 2b29 : Wed Oct 23 2002 - 22:00:56 EST