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/