Initial XIO implementation. XIOs represent data through a list of VM pages
authorMatthew Dillon <dillon@dragonflybsd.org>
Wed, 31 Mar 2004 19:24:17 +0000 (19:24 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Wed, 31 Mar 2004 19:24:17 +0000 (19:24 +0000)
commit81ee925d5128667b0838ee85117751adfa7555fc
tree22efa43499d7e025bdae167e44eb0a5c6369aac7
parent3b284c6a91871685a77dcdf58917a6a20d0f27cb
Initial XIO implementation.  XIOs represent data through a list of VM pages
rather then mapped KVM, allowing them to be passed between threads without
having to worry about KVM mapping overheads, TLB invalidation, and so forth.

This initial implementation supports creating XIOs from user or kernel data
and copying from an XIO to a user or kernel buffer or a uio.  XIO are intended
to be used with CAPS, PIPES, VFS, DEV, and other I/O paths.

The XIO concept is an outgrowth of Alan Cox'es unique use of target-side
SF_BUF mapping to improve pipe performance.
sys/kern/kern_xio.c [new file with mode: 0644]
sys/sys/xio.h [new file with mode: 0644]