tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Perform mmap and poll on PUD character devices



Hello,

Thanks for the reply, sometimes I'm so focused in the problem that I
forget the big picture. PUD is a framework present in NetBSD that
allows to implement character and block devices in userspace. [1]

The blktap (“block tap”) userspace toolkit provides a user-level disk
I/O interface in Xen systems. Its current main application is to
replace the common loopback driver for file-based images because of
better performance. The blktap mechanism involves a kernel driver
running in Dom0 that acts similarly to the existing Xen/Linux blkback
driver, and a set of associated user-level libraries. Using these
tools, blktap allows virtual block devices presented to VMs to be
implemented in userspace and to be backed by raw partitions, files,
network, etc. [2]

The problem is that blktap implements mmap on character devices, and
PUD doesn't support the mmap operation. That's why I want to implement
mmap (and poll) for devices backed by userspace daemons. Ideally this
implementation should reuse buffers, and avoid copying data from user
to kernel memory, to allow for a fast implementation.

[1] http://netbsd.gw.com/cgi-bin/man-cgi?pud+4+NetBSD-current
[2] http://lxr.xensource.com/lxr/source/tools/blktap/

2011/9/8 Erik Fair <fair%netbsd.org@localhost>:
> Can you please expand "PUD" and explain what blktap2 does and is used for?
>
>        can't tell the actors without a playbill,
>
>        Erik <fair%netbsd.org@localhost>
>
>


Home | Main Index | Thread Index | Old Index