334.16 driver causes 60Hz wakeups on battery

While testing the battery drain of my XPS M1330 using powertop I noticed that both /usr/X11R6/X as well as hrtimer_wakeup cause almost exactly 60 interrupts per second. Since this corresponds to the display refresh rate, the culprit was thought to be the NVIDIA graphics driver (334.16). Replacing the newest driver by a fairly old one (285.05.09) brought back the well-behaved wakeup rate. Since the GeForce 8400M GS probably does not benefit that much from the newer drivers, I’ll stick to the older one for power-saving reasons. Note that the increased wakeup rate only happens on battery. Maybe powermizer is going crazy in this case.

Try OnDemandVBlankInterrupts - it’s in nvidia’s README.

Thanks for bringing that up. However, the flag is always active in nvidia-settings. I also added it to xorg.conf with no change. To summarize, while idling 334.16 causes around 60 /usr/X11R6/bin/X wakeups on battery and about 30 on AC. With 285.05.09 I am getting 5…10, quite a difference.

Is the driver using MSI? Check with

cat /proc/interrupts

The nvidia kernel module has a parameter to control it, though it should be on by default.