X Input Driver for USB device == 100% CPU usage for "xorg"

Larry Adams larrya at aspentouchsolutions.com
Mon Mar 5 22:44:39 PST 2007


I have taken over the maintaining of a touchscreen driver. Driver used to
work fine on xorg 6.x but on 7.x when connected to our USB device driver, X
is now calling our read input function infinitely (About 200,000 times a
second on my machine) causing "xorg" to take 100% CPU in top.

This does not happen when our driver connects to a serial port. And since
every single other line of code or parameter is identical except the open
file to read from... it must have something to do with our USB device driver
and what X is expecting of it?

Has there been some change on how X blocks or monitors the input device's
file descriptor to decide when to call an input driver's read input

What IS X's criteria on deciding when to call read input? Obviously I need
to change something in our USB driver but at the moment I have not been able
to figure out what that is.

I have found no clue on the net, or in this archive, or by examining other X
driver code. I am now trudging though the code for X itself but... slow
going. If anyone has been through this and has somewhere to point me, I'd be
much obliged :)

Larry Adams
Director of Software
Aspen Touch Solutions, Inc.
e-mail: larrya at aspentouchsolutions.com

More information about the xorg mailing list