From: Kristian V. <Kri...@an...> - 2005-02-14 09:25:44
|
Jake Hamby wrote: > Speaking of bad performance, I'm frustrated that there are a > couple of threads that chew up a big chunk of CPU time on my system: > > dbterm: main thread (14%), read thread (7%) > media_server_flush: 21.7% > ata_cmd_thread: up to 17% for each thread > appserver: keyb_thread: 7.1% > appserver: input_thread: 2.6% dbterm is almost certainly because it has to poll the kernel for new data on the kernel debug port. ata_cmd_thread may currently have some tight loops in it where it is impossible to do anything else but poll for a status change. The ATA controller only raises an interupt at certain times. If you're just waiting for E.g. STATUS_BUSY to go low you must poll the status register until it happens. The best you can do is snooze() during the loop. -- Vanders http://www.syllable.org http://www.liqwyd.com ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ |