Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jul 1997 02:02:25 -0500
From:      Chris Csanady <ccsanady@friley01.res.iastate.edu>
To:        hackers@freebsd.org
Subject:   DMA directly to user space?
Message-ID:  <199707130702.CAA12323@friley01.res.iastate.edu>

next in thread | raw e-mail | index | archive | help
I am looking into implementing something along the lines of SGI's
/dev/hippi, only for a gigabit ethernet device.  Basically, you would
write frames to the device, and it would ship them off.

The thing is, I am looking for a way to do this without copying any data.
Is this possible?  Are there any existing devices that do such things?
DMAing to userspace seems ideal, but I'm not sure how you could ensure
that the memory is aligned and contiguous.  Or how to deal with the
user/kernel space boundry crossing.

Another thought was remapping pages from the kernel to the process.
However, this seems like even more of a memory management nightmare.

If anyone has any ideas on how I could do this either way, I'd appreciate
it.  Doing a copy would greatly simplify things, but at these speeds,
there doesn't seem to be much bandwidth left as it is.  It also becomes
quite apparent how inefficient our TCP/IP stack is. :(


Chris Csanady





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