git: DragonFly_RELEASE_2_6 kernel - Address excessive stall in pageout during deadlock avoidance
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Apr 1 11:10:28 PDT 2010
commit fa1ae1e3421842b6f64e4530930b91d6fda254e5
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Apr 1 11:06:07 2010 -0700
kernel - Address excessive stall in pageout during deadlock avoidance
* The pageout daemon uses LK_TIMELOCK to avoid deadlocking on a vnode
that might be held locked during a pfault, which waits up to 1/10 of
a second.
If the vnode has a large number of pageable pages each page may go
through the timeout. This can result in the pageout daemon stalling
for an excessive amount of time.
Reduce instances of the problem by remembering the last vnode which
failed its timelock and using LK_NOWAIT for later pages. A single
vnode is remembered for now.
Reported-by: Francois Tigeot <ftigeot at wolfpond.org>
Summary of changes:
sys/vm/vm_pageout.c | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fa1ae1e3421842b6f64e4530930b91d6fda254e5
--
DragonFly BSD source repository
More information about the Commits
mailing list