Get out-of-band DMA buffers working for user<->user syslinks. This
authorMatthew Dillon <dillon@dragonflybsd.org>
Fri, 29 Jun 2007 00:18:05 +0000 (00:18 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Fri, 29 Jun 2007 00:18:05 +0000 (00:18 +0000)
commit0a7648b9333fb5113d573ed36bfb52cc80346a60
tree3228b7cb921d48bf78c3f389fac5bc4ee7378905
parent7ac978db463217c73cb1811895998ca2cf07fedd
Get out-of-band DMA buffers working for user<->user syslinks.  This
allows the syslink protocol to operate in a manner very similar to the
way sophisticated DMA hardware works, where you have a DMA buffer attached
to a command.

Augment the syslink protocol to implement read, write, and read-modify-write
style commands.

Obtain the MP lock in places where needed because fileops are called without
it held now.  Our VM ops are not MP safe yet.

Use an XIO to map VM pages between userland processes.  Add additional
XIO functions to aid in copying data to and from a userland context.  This
removes an extra buffer copy from the path and allows us to manipulate pure
vm_page_t's for just about everything.
sys/kern/kern_syslink.c
sys/kern/kern_xio.c
sys/sys/syslink.h
sys/sys/syslink_msg.h
sys/sys/xio.h