Re: Thread implementations...

Erik Corry (erik@arbat.com)
Thu, 25 Jun 1998 08:58:15 +0200


In article <19980625162056.C22513@caffeine.ix.net.nz> you wrote:
> If the buffer cache and mm and reworked to support multiple referneces and
> COW semantics we should be able to do something like:

> ofd = open(big_file,...)
> dfd = open(dest_file,...)
> base = mmap(...,ofd,...)
> write(fdf,base,length)

> And have this work and near hardware IO speed, eliminating the costly buffer
> cache copy to user space and so forth for DMA devices (which pretty much
> everything that counts is these days).

Someone (lm?) suggested that Sleep-on-write would be the
correct thing to do when implementing DMA from user space.
The reason being that normally, you wouldn't expect the
application to write its output buffers anyway (if we assume
the write call blocks, then it's only through threading that
this is possible at all), and SOW would be simpler to
implement. Made sense to me.

> Also, doing this means we could optimise NFS and socket performance up the
> wazoo...

You still can't do a PCI-PCI transfer from your SCSI controller
to your intelligent Ethernet card with this interface. :-)

(OK, I know, that's probably going to be mindbogglingly difficult
to get right, anyway.)

-- 
Erik Corry

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