Re: Timer queues: Which one should I use...

Grant R. Guenther (
Tue, 6 May 1997 06:08:31 -0400 (EDT)

> I've only just joined this mailing list but I've heard that there has
> been some discussion on timer queues. I have been working on a driver
> (Iomega parallel port ZIP drive) and found that tq_scheduler stops
> polling/processing when the system loads up (gcc -O2 does it quiet
> nicely when compiling the gcc source).
> I've since switched to using tq_timer with more stable results but
> apparently there has been a performance drop. Any suggestions?

I guess I should say something:

David and others have observed that under heavy load a ZIP drive can
cause systems to freeze. The ppa adapter doesn't generate an interrupt,
so the driver must simulate interrupts using task queues. There are two
basic choices: tq_scheduler and tq_timer.

(When I wrote the original ppa driver, I did some empirical testing and
found that under "normal" loads the tq_scheduler approach produced the
better performance.)

I suggested that the freezing that was being observed was most likely
caused by the buffer cache filling up with pages destined for the
ZIP drive, and suggested to David that he follow the discussion here on
the effects of a single device dominating the buffer queue.

Grant R. Guenther