DragonFly commits List (threaded) for 2011-06
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: kernel - Fix MP races in recent vm_object work
commit 212f39f54bb99e0b059f26faa762e7ff99a6bebf
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date: Fri Jun 10 00:32:22 2011 -0700
kernel - Fix MP races in recent vm_object work
* lwkt_token_swap() needs a critical section to ensure that an interrupt
does not catch it mid-swap.
* Adjust vm_object_terminate() and vm_object_vnterminate() mechanics to
require that the object be locked and to eat the lock.
* Use vm_object_hold/drop in vm_map_copy_entry() (object must be locked
upon call to vm_object_collapse()).
* Acquire object locks in various places and swap the token order as
needed to chain locks in various loops.
* Shift some code around in vm_object.c
Summary of changes:
sys/kern/lwkt_token.c | 4 +
sys/kern/vfs_subr.c | 13 ++-
sys/vm/vm_map.c | 8 +-
sys/vm/vm_object.c | 375 +++++++++++++++++++++++++++++++------------------
4 files changed, 257 insertions(+), 143 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/212f39f54bb99e0b059f26faa762e7ff99a6bebf
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]