Re: (disk/cpu) 2.3.11 kernel performance problem

Rik van Riel (riel@nl.linux.org)
Tue, 27 Jul 1999 08:53:14 +0200 (CEST)


On Mon, 26 Jul 1999, Gerald Aigner wrote:
> On Mon, 26 Jul 1999, Rik van Riel wrote:
> > On Mon, 26 Jul 1999, Gerald Aigner wrote:
> >
> > > 1) The kernel copies data many times before it ends up in user
> > > space.
> >
> > I'm very sorry, but you seem to be too late. This problem is
> > (at least partially) fixed in the newer 2.3 kernels...
>
> I just tried the 2.3.11 kernel. The new kernel is slightly faster
> (67 seconds instead of 69 seconds) and it uses less CPU time (37%
> vs. 45%)
>
> However 37% is still a very high CPU utilization.

If you use 1/3rd of your memory bandwidth, then the CPU will
be waiting for memory 1/3rd of the time --> 1/3rd CPU usage.

Whether it's doing anything useful besides busy waiting really
doesn't matter here...

> > > 2) Using mmap doesn't help because it serializes I/O within a single
> > > process (you can't read simultaneously from two disks).
> >
> > A single process uses a single thread of control, and yes,
> > we do readahead over RAID0 sets...
>
> Using mmap on the linux2.3.11 kernel takes now 105 seconds, which
> is still slower than doing read system calls in separate threads.
>
> So is there an easy way to make mmap as fast as read (in terms of
> wall clock time).

Sure there is. Just port the readahead algorithm from
file_read() and put it in the mmap() and swapin() code :)

Btw, we're already working on that so don't worry...

Rik -- Open Source: you deserve to be in control of your data.
+-------------------------------------------------------------------+
| Le Reseau netwerksystemen BV: http://www.reseau.nl/ |
| Linux Memory Management site: http://www.linux.eu.org/Linux-MM/ |
| Nederlandse Linux documentatie: http://www.nl.linux.org/ |
+-------------------------------------------------------------------+

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