git: vkernel - Restabilize pmap code, redo kqueue, systimer, and console code
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Jan 21 23:47:23 PST 2017
commit c91894e06a98663c288374755ff93d53b791918f
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Jan 21 23:43:07 2017 -0800
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.
Summary of changes:
sys/cpu/x86_64/include/cpu.h | 6 +
sys/kern/kern_clock.c | 48 ++++--
sys/kern/kern_intr.c | 3 +
sys/platform/pc64/x86_64/mp_machdep.c | 32 ++--
sys/platform/vkernel64/include/cothread.h | 3 +
sys/platform/vkernel64/include/md_var.h | 6 +-
sys/platform/vkernel64/include/smp.h | 2 +-
sys/platform/vkernel64/platform/console.c | 84 ++++++----
sys/platform/vkernel64/platform/cothread.c | 34 +++-
sys/platform/vkernel64/platform/init.c | 21 ++-
sys/platform/vkernel64/platform/kqueue.c | 26 ++-
sys/platform/vkernel64/platform/machintr.c | 16 +-
sys/platform/vkernel64/platform/pmap.c | 244 ++++++++++++++---------------
sys/platform/vkernel64/platform/systimer.c | 108 +++++++++----
sys/platform/vkernel64/x86_64/exception.c | 58 ++++++-
sys/platform/vkernel64/x86_64/mp.c | 29 ++--
sys/platform/vkernel64/x86_64/trap.c | 11 +-
sys/sys/globaldata.h | 5 +-
18 files changed, 472 insertions(+), 264 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c91894e06a98663c288374755ff93d53b791918f
--
DragonFly BSD source repository
More information about the Commits
mailing list