[ !! PROPOSAL !! ] NMI & register handling infrastructure

From: Oza Oza
Date: Tue May 18 2010 - 02:43:23 EST


This is my first post to the group, please excuse me, If I unknowingly miss to follow writing ethics.


I was working on providing accurate process usage support, and writing a kernel module,
I configured cpu-core-unhalted event and configured LVT (local vector table) with NMI (non-maskable interrupt), and surprisingly Oprofile stopped working,
Then I realized, that set_nmi_call back just overwrites nmi_callback function pointer.

My proposal/idea/thinking is:

have a kernel module which accepts NMI registration from any kernel component, and providing support to the the any kernel service which basically need to service NMI.
It may not only supports this, but also can provide central infrastructure which has capabilities such as granting MSR (model specific register) access to the the modules, which may avoid potential clash of MSRs (e.g. two modules are trying to configure same MSR), control NMI registration-unregisteration events etc..

I am not sure, whether this is a good idea or bad idea, but I thought it adds flexibility and some value addition in kernel,
and I find this place precisely right to post this idea.

Any feedback/suggestions/additions would be appreciated.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/