It has happened many times that after some random hours of usage overall KDE performance dropped to the floor: moving windows was nearly impossible, desktop effects stopped working, writing in the Konsole was slow…

But the system was not unresponsive: SSH (and everything not related to the X server) was working as usual.

Since I was too lazy to investigate it, I simply restarted the X server (or closed and reopened my KDE session) when it happened.

Some days ago I took a look at dmesg | tail and found this string:

kernel: irq 16: nobody cared (try booting with the "irqpoll" option)

followed by a (stack?) trace.

So it was an IRQ problem. Looking at /proc/interrupts revealed that the interrupt #16 was shared between my nvidia card, a pata_jmicron thingy and an usb port.

After googling a little I found that you can (actually you should) put the nvidia card on MSI system (see this wikipedia entry).

You simply tell the nVidia module (loaded at startup) to use MSI rather than old pci irqs, by writing a file in /etc/modprobe.d/:

# nano /etc/modprobe.d/MSIfixes.conf
options nvidia NVreg_EnableMSI=1

Then you should unload the module and reload it (well, it’s easier to do a reboot).

I haven’t had that annoying freeze issue ever since I put MSI in the game.

Today I upgraded my Gentoo kernel to 2.6.23 version, but I had this problem when emerging madwifi-ng:

* Messages for package net-wireless/madwifi-ng-0.9.3.3:
* CONFIG_CONFIG_KMOD: is not set when it should be.
* Please check to make sure these options are set correctly.
* Failure to do so may cause unexpected problems.
* Once you have satisfied these options, please try merging
* this package again.
*
* ERROR: net-wireless/madwifi-ng-0.9.3.3 failed.
* Call stack:
* ebuild.sh, line 1717: Called dyn_setup
* ebuild.sh, line 768: Called qa_call 'pkg_setup'
* ebuild.sh, line 44: Called pkg_setup
* madwifi-ng-0.9.3.3.ebuild, line 34: Called linux-mod_pkg_setup
* linux-mod.eclass, line 465: Called linux-info_pkg_setup
* linux-info.eclass, line 576: Called check_extra_config
* linux-info.eclass, line 475: Called die
* The specific snippet of code:
* die "Incorrect kernel configuration options"
* The die message:
* Incorrect kernel configuration options
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/net-wireless/madwifi-ng-0.9.3.3/temp/build.log'.
*

2) As you can see, there’s no such thing as a libexpat.so.0 in /usr/lib. But there is a libexpat.so.1 referenced by libexpat.so itself. So I made a symbolic link named libexpat.so.0 pointing to libexpat.so:

root@smokey# ln -s /usr/lib/libexpat.so /usr/lib/libexpat.so.0

Be warned: this may not be the right thing to do. I should have checked the configuration file of the dbus daemon, and changed it to reference libexpat.so instead of libexpat.so.0. But as you may guess i was pissed enough to dig deeply into crappy conf files. And what if there was another app requiring libexpat.so.0? You can never guess when a developer/mantainer will fail you.