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

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Mar 19 19:15:19 PDT 2008


dillon      2008/03/19 19:14:56 PDT

DragonFly src repository

  Modified files:
    sys/platform/vkernel/conf files 
    sys/platform/vkernel/i386 exception.c 
    sys/platform/vkernel/include md_var.h 
    sys/platform/vkernel/platform machintr.c 
    sys/dev/virtual/disk vdisk.c 
  Added files:
    sys/platform/vkernel/include cothread.h 
    sys/platform/vkernel/platform cothread.c 
  Log:
  Improve vkernel support.
  
  * 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 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.
  
  Revision  Changes    Path
  1.21      +1 -0      src/sys/platform/vkernel/conf/files
  1.10      +18 -0     src/sys/platform/vkernel/i386/exception.c
  1.24      +2 -0      src/sys/platform/vkernel/include/md_var.h
  1.16      +13 -0     src/sys/platform/vkernel/platform/machintr.c
  1.8       +57 -45    src/sys/dev/virtual/disk/vdisk.c


http://www.dragonflybsd.org/cvsweb/src/sys/platform/vkernel/conf/files.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/vkernel/i386/exception.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/vkernel/include/md_var.h.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/vkernel/platform/machintr.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/virtual/disk/vdisk.c.diff?r1=1.7&r2=1.8&f=u





More information about the Commits mailing list