vkernel - Restabilize pmap code, redo kqueue, systimer, and console code
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 22 Jan 2017 07:43:07 +0000 (23:43 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 22 Jan 2017 07:43:07 +0000 (23:43 -0800)
commitc91894e06a98663c288374755ff93d53b791918f
treee5a36a4deaf678f98a87f400ba5ecc6b90e70a6d
parent7374a7a60afebab2f2113c7c3edd5c7801e5c596
vkernel - Restabilize pmap code, redo kqueue, systimer, and console code

* Remove vm_token and add necessary vm_page spin locks to the vkernel's
  pmap code, improving its stability.

* Separate the systimer interrupt and console tty support from the
  kqueue subsystem.

  Uses SIGURG for systimer
  Uses SIGIO for kqueue
  Uses SIGALRM for cothread signalling

* The vkernel systimer code now uses a dedicated cothread for timing.  The
  cothread is a bit of a hack at the moment but is a more direct way of
  handling systimers.

* Attempt to fix user%/sys%/intr%/idle% in the systat -vm and
  systat -pv output.  Still isn't perfect, but it is now more
  accurate.
18 files changed:
sys/cpu/x86_64/include/cpu.h
sys/kern/kern_clock.c
sys/kern/kern_intr.c
sys/platform/pc64/x86_64/mp_machdep.c
sys/platform/vkernel64/include/cothread.h
sys/platform/vkernel64/include/md_var.h
sys/platform/vkernel64/include/smp.h
sys/platform/vkernel64/platform/console.c
sys/platform/vkernel64/platform/cothread.c
sys/platform/vkernel64/platform/init.c
sys/platform/vkernel64/platform/kqueue.c
sys/platform/vkernel64/platform/machintr.c
sys/platform/vkernel64/platform/pmap.c
sys/platform/vkernel64/platform/systimer.c
sys/platform/vkernel64/x86_64/exception.c
sys/platform/vkernel64/x86_64/mp.c
sys/platform/vkernel64/x86_64/trap.c
sys/sys/globaldata.h