git: kernel - Optimize lwp-specific signaling.
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Jan 25 11:20:31 PST 2017
commit a094cc95c3d6615ac48e1e6eb359d5bd96ed4da8
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Jan 25 09:25:40 2017 -0800
kernel - Optimize lwp-specific signaling.
* Optimize the signal code to remove most instances of needing proc->p_token
when lwp-specific signals are sent.
* Add a CURSIG_LCK_TRACE() macro which can now return with p_token held, and
pass the status to postsig() which then consumes it.
* lwpsignal() now tries very hard to avoid acquiring proc->p_token.
* Significantly improves vkernel operation under heavy (vkernel) IPI loads.
Summary of changes:
sys/kern/kern_sig.c | 204 +++++++++++++++++++++++++----------
sys/kern/kern_synch.c | 2 +-
sys/kern/kern_time.c | 2 +
sys/kern/lwkt_token.c | 15 ---
sys/platform/pc64/x86_64/trap.c | 7 +-
sys/platform/vkernel64/x86_64/trap.c | 12 +--
sys/sys/signal2.h | 22 ++--
sys/sys/signalvar.h | 17 ++-
sys/sys/systm.h | 1 -
sys/sys/thread.h | 30 ------
sys/vfs/mfs/mfs_vfsops.c | 4 +-
sys/vfs/procfs/procfs_ctl.c | 2 +-
12 files changed, 193 insertions(+), 125 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a094cc95c3d6615ac48e1e6eb359d5bd96ed4da8
--
DragonFly BSD source repository
More information about the Commits
mailing list