Comment 21 for bug 151382

Revision history for this message
aprunai (aprunai) wrote :

I finally solved my issue.
I figured that the freezes were interrupt-related when I installed IRQBalance on my box and a freeze happened few seconds after the daemon had started. Then I discovered that nVidia drivers have an internal IRQ manager (possibly to distribute the GPU load over multiple cores. Why they didn't use Linux IRQ infrastructure is a mystery to me).
Luckily, while looking for a means to force IRQ assignment to a single CPU, i found a thread on Ubuntu forums about "rescheduling interrupts" and how this practice had become very aggressive in the late kernels, especially when CPU load was mid to low.
They suggested a fix, which I tried, and my box has been rock stable since that precise moment, which was about two weeks ago, with Compiz on full-time.
If someone wishes to try it, here is the command line (you must enter it as root, not with sudo):

echo 1 > /sys/devices/system/cpu/sched_mc_power_savings

I had some problems as root, too (the command was successful but the system file remained unchanged, as showed by "cat /sys/devices/system/cpu/sched_mc_power_savings" which resulted in 0 instead of 1), so I rebooted in a fail-safe environment and successfully applied the change.