I am having a problem with the ati fglrx driver lagging the linux kernel. I have tried with different kernel versions (2.6.24, 2.6.32 and 3.0.4) and with different catalyst driver releases (almost all of them from 11.1 up to 11.9) and the behavior is the same.
I am developing a kernel driver, which reads and writes messages to the serial port. It has stringent latency requirements - 5ms inter-character timeout. When running the communication from a text console, or from Xorg without the ati fglrx driver loaded everything works fine - the latency requirements are easily met (the characters come with a delay of 1-2 ms)
But when the fglrx driver is loaded timeouts do occur very often. I guess my IRQ handler is delayed from being called for more than 3 ms. This means that the kernel is blocked in some way for such a large period.
After some investigation I have come to the conclusion that the blocking occurs when there is some heavy activity from the video card: swithcing window tabs or desktops, dumping a lots of output on the terminal application (KDE's konsole). If there is no activity the timeouts do not occur.
I can provide mor information and logs for my system as needed.
AMD Athlon Neo dual core 1.5GHz
Video card: ATI RADEON E4690
Debian Squeeze with linux 2.6.32 (32bit)
Ati catalyst driver 11.8
X.Org X Server 1.7.7
Regards, Kalin Simeonov, EGT Ltd., Bulgaria
Wonderful post. I am really very interested in your topic about Linux 2.6.X. Thanks for share such nice post.