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 -n 1.* Asynchronize the virtual disk (vkd). VKD now queues I/O to a cothreadwhich 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 allowsI/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.
Thanks, Aggelos
