cvs commit: src/sys/platform/vkernel/conf files src/sys/platform/vkernel/i386 exception.c src/sys/platform/vkernel/include cothread.h md_var.h src/sys/platform/vkernel/platform cothread.c machintr.c src/sys/dev/virtual/disk vdisk.c
aoiko at cc.ece.ntua.gr
Thu Mar 20 04:53:40 PDT 2008
Matthew Dillon wrote:
* Add a new cothread API for vkernel drivers. This creates real threads
to act as DMA engines for I/O. These threads operate OUTSIDE the
vkernel's cpu abstraction and thus work with UP builds or SMP builds with
* Asynchronize the virtual disk (vkd). VKD now queues I/O to a cothread
which runs it and then generates a signal to the vkernel's cpu 0 to run
the virtual device's 'interrupt' function.
* The new cothread code works better then the kqueue code because it allows
I/O's to be ganged together for bulk operation without causing a signal
for each one. The kqueue code is still used by VKE but should
be considered obsolete.
Do we have some simple before/after numbers for typical operations like
extracting pkgsrc-2007Q4.tar.gz and/or running some io benchmark (some
phases of kernel compilation may be affected as well)? I don't have easy
access to a dragonfly box atm.
More information about the Commits