Re: Thread implementations...

Rik van Riel (H.H.vanRiel@phys.uu.nl)
Fri, 26 Jun 1998 06:54:54 +0200 (CEST)


On Fri, 26 Jun 1998, Chris Wedgwood wrote:

> > > True, aio_* with page aligned buffers and vm hacks amount to the same
> > > thing anyhow, but I don't know of anyone actively working on the mm
> > > system in this area.
> >
> > AFAIK, there is indeed nobody working on this. If people
> > actually want this feature, I'll add it to the TODO-list
> > on http://linux-mm.home.ml.org/...
>
> People are going to give you lots of reasons why this isn't a good idea. I'm
> going to say it has implication outside of networking that make it look very
> attractive.
>
> A couple of reasons, access patterns like:
>
> read(from,buf,len);
> write(from,buf,len);
>
> can be optimized to DMA to memory, twiddle some pages for the process, and
> avoid the costly copy to/from buffer cache that presently limits disk IO
> throughput (preserving the buffer cache using COW).
>
> At the moment, if I want to copy a 50MB file from one device to another,
> assuming I have lots of memory, the data first gets loaded into the buffer
> cache (say, via DMA), then that is copied to userspace, which then does a
> write and userspace gets copied to buffer-cache, which is then written to
> the destination device.
>
> If you follow this argument through, and make minor modifications to
> userland code (such as 'cp'), you can also make this pretty click when
> copying to/from NFS.

This would argue for a win32 alike, but more general,
copyfile() system call. This can be a very good alternative
for the very expensive copies we're doing now.
Since this call is in smbfs too, it means we can do
a copy of a file on a samba share without the file
ever traveling over the network...

Rik.
+-------------------------------------------------------------------+
| Linux memory management tour guide. H.H.vanRiel@phys.uu.nl |
| Scouting Vries cubscout leader. http://www.phys.uu.nl/~riel/ |
+-------------------------------------------------------------------+

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu