Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Dec 1997 10:32:52 +1030
From:      Mike Smith <mike@smith.net.au>
To:        "Fred L. Templin" <templin@erg.sri.com>
Cc:        "John S. Dyson" <toor@dyson.iquest.net>, freebsd-hackers@freebsd.org
Subject:   Re: copyout()/copyin() 
Message-ID:  <199712020002.KAA00691@word.smith.net.au>
In-Reply-To: Your message of "Mon, 01 Dec 1997 13:13:57 -0800." <199712012114.NAA10819@grayling.erg.sri.com> 

next in thread | previous in thread | raw e-mail | index | archive | help

This is kinda interesting stuff; I'm just about to launch into the 
design of a PCI adapter and driver that would ideally be able to do 
this...

> This is essentially what I'm doing right now; I basically only copy the data
> when driven by the process - either as the result of a synchronous syscall or
> after the kernel wakes the process up after an asynchronous event. The
> disadvantage is that I'd really like to move the data directly between the
> user buffers and device memory; bypassing kernel memory altogether (I know; I
> failed to mention this in my original message!) Which brings us to:

What sort of timing granularity and latency can you accept?  If you're
not too bothered about latency just have the read/write call sleep and 
wake it out of your interrupt handler.  Then traverse the uio manually 
using the fu*/su* functions.

mike





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712020002.KAA00691>