After compiling the 2.6.32 kernel, I was unable to load virtualbox modules as it complained of nmi_watchdog being active. Even after passing the “nmi_watchdog=0” in kernel parameters, the problem was active. recently I came accross this bug http://www.virtualbox.org/ticket/4529
Apparently they renamed CONFIG_PERF_COUNTERS to CONFIG_PERF_EVENTS in 2.6.32. Hence vbox couldn’t detect it.
The changes will be applied and fixed in a future release. However, if you are getting this error and would like to fix it, you can use these patches.
You have to patch the file /usr/src/vboxdrv/linux/SUPDrv-linux.c
However, this file didn’t exist in that specified location for me. So I guess it depends on your distro. Best would be to use:
sudo updatedb locate SUPDrv-linux.c
And find out the exact location, for me in Slackware64 ~ 13.0 it was this file: /opt/VirtualBox/src/vboxdrv/linux/SUPDrv-linux.c
Instead of manually making the changes you can simply download the raw text file and replace the older one with this one: http://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
Hope this helps someone.
EDIT: Alternate Fix:
As Bruce Hill [a fellow LQ member] told me that he wasn’t getting these errors I was confused,then when I posted about this CONFIG_PERF_EVENTS change, he said he had the option built in as a compatibility placeholder. Both the options are present and you can enable them and re-compile your kenel. This way even if an app uses a deprecated name, you won’t get affected. Lesson learnt. Thanks again Bruce.