Re: [patch] lowlatency-2.2.10-N2, 'multimedia latency improvement'

Andrea Arcangeli (andrea@suse.de)
Sun, 1 Aug 1999 16:58:34 +0200 (CEST)


On Sun, 1 Aug 1999, Ingo Molnar wrote:

>this is the next version of the 'low latencies' patch. Changes relative to
[..]
>buffer cache and page cache functions - without impacting functionality.
[..]

I can't see why you added many run_task_queue calls. For the record,
run_task_queue sleeps only for the loopback device (and that's the reason
wakeup_bdflush() may deadlock). The only two reasons for calling
run_task_queue are:

1) we need to wait for I/O completation to go ahead, so queue the request
and run it immediatly.
2) there are no free request slots available.

Another performance/latency related bug to fix is in the buffer flushing
routines (and I fixed it in my dead CVS tree longs ago). We can avoid
browsing the LOCKED lru list while going to flush dirty buffers to disk.
In the LOCKED list there _can't_ be dirty buffers that are waiting to be
flushed to disk. We can left the flushed buffers in the locked list.
There's no point in refiling the clean buffers to move them from the
LOCKED list to the CLEAN lru list. (the fix is trivial:
s/BUF_LOCKED/BUF_DIRTY in the `for(i=xxx...' loops).

Andrea

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/