Re: [patch] `cp /dev/zero /tmp' (patch against 2.2.9)

Benno Senoner (sbenno@gardena.net)
Fri, 18 Jun 1999 00:23:29 +0200


On Thu, 17 Jun 1999, Stephen C. Tweedie wrote:
> Hi,
>
> On Wed, 16 Jun 1999 20:28:47 +0200, Benno Senoner <sbenno@gardena.net>
> said:
>
> > do you think that a per-block-device IO scheduling will cure the
> > 70-150ms stall of audio playing applications during heavy disk I/O ?
>
> If you mean playback from disk, then it depends on whether or not the
> data you are playing is on the same disk as the writes. If so, then
> per-device queuing by itself won't make the problem go away, you still
> need read/write conflict resolution.

No , I don't mean playback from disk, only from RAM,

example: opening the /dev/dsp with a buffer of 4 fragments of 1024 bytes = 23ms

and then only do the following (scheduled RT FIFO max priority)

while(1)
{
gettimeofday(&time1);
write(audio_fd, my_audiobuffer,1024);
gettimeofday(&time2);

if( time2 - time1 > 23ms) then count and report buffer overrun

}

and in background there are scripts which perform heavy disk I/O.

again here is the URL for the bench:

http://www.gardena.net:80/benno/linux/latencytest0.3.tgz

when I get some time (in the next days) I will perform similar tests using a
pure CPU bound task, (this time scheduled RR), and record the timedifferences
between 2 for(i=0;i< bignumber ; i++) so that the for loop takes at least 1ms
, then i will measure the time diffs with the Pentium RDTSC instruction to get
more accurate results.
I think the result will be that this bench does'nt suffer of 130ms latencies,
but I must get the proof for that.
if the new bench will stay into the 20ms limits, then it is a pure locking
problem, if not, then it's the disk which blocks the system.

But my windoze test was the proof that the limit is not the disk.

I will let you know soon !

ciao
Benno.

sbenno@gardena.net

-
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/