DragonFly commits List (threaded) for 2010-08
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: kernel - Add vmobj_token, misc vm-related tokenization
commit 2de4f77e2b4ab23695f2ed9e2917345bc821b229
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date: Sat Aug 28 10:26:04 2010 -0700
kernel - Add vmobj_token, misc vm-related tokenization
* Add vmobj_token to protect vm_object_list and vm_object->ref_count and
related functions.
Note: coalesce and collapse require both vm_token and vmobj_token,
and vmspace_fork() requires a bunch of tokens.
* Remove miscellanious mplocks and critical sections that are no longer
needed.
* Correct potential sysinfo kernel data visibilty issue.
* Optimize some potentially recursive vm_token/vmobj_token situations
by adding *_locked() procedure variants. To avoid blowing out the
token stack.
* Remove unnecessary get_mplock() calls in vm_zone.c
* Bump gd_intr_nesting_level in the IPI processing core and assert
that it is zero in the gettoken core. Hard interrupts (vs interrupt
threads) are not allowed to acquire tokens for obvious reasons.
Summary of changes:
sys/cpu/i386/misc/lwbuf.c | 3 -
sys/dev/virtual/net/if_vke.c | 2 +-
.../linux/i386/linprocfs/linprocfs_misc.c | 3 +
sys/emulation/linux/linux_misc.c | 8 +-
sys/kern/kern_slaballoc.c | 8 +-
sys/kern/lwkt_ipiq.c | 3 +
sys/kern/lwkt_token.c | 3 +
sys/kern/vfs_subr.c | 12 +-
sys/sys/thread.h | 1 +
sys/vm/vm_kern.c | 6 +-
sys/vm/vm_map.c | 69 ++++++---
sys/vm/vm_meter.c | 9 +-
sys/vm/vm_object.c | 158 ++++++++++++--------
sys/vm/vm_object.h | 12 ++-
sys/vm/vm_swapcache.c | 8 +
sys/vm/vm_zeroidle.c | 1 -
sys/vm/vm_zone.c | 2 -
sys/vm/vnode_pager.c | 21 ++-
18 files changed, 216 insertions(+), 113 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2de4f77e2b4ab23695f2ed9e2917345bc821b229
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]