DragonFly commits List (threaded) for 2010-02
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: HAMMER VFS - Reduce stalls during bulk file operations
commit e98f1b96f17c57d1d59a4bba1d6a26b281767c07
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date: Fri Feb 19 10:41:22 2010 -0800
HAMMER VFS - Reduce stalls during bulk file operations
* Track modifying inode operations on a per-PID basis (loosely) and
call hammer_inode_wait_reclaims() earlier for those pids.
The algorithm selects a wait point based on the process's perceived
contribution to the inode load. The greater the contribution, the
more readily we stall the process in order to wait for related reclaims
to process.
Processes with lower loads have higher reclaim points and do not stall
as readily as they did before.
* Remove waitreclaims calls based on B-Tree scans. I'm not sure why I had
this in there but it was creating an excessive number of unnecessary
stalls, so if any problems crop up I'll have to find another way to deal
with them.
* These changes (particularly the first) should reduce unnecessary stalls
for the programs not doing heavy inode operations. Hopefully that means
rm -rf and tar extractions will not have as quite the detrimental effect
on other processes as they did before.
Summary of changes:
sys/vfs/hammer/hammer.h | 20 +++++++-
sys/vfs/hammer/hammer_inode.c | 86 ++++++++++++++++++++++++++++++++---
sys/vfs/hammer/hammer_object.c | 10 ++--
sys/vfs/hammer/hammer_prune.c | 2 +-
sys/vfs/hammer/hammer_transaction.c | 7 ++-
sys/vfs/hammer/hammer_vnops.c | 12 +++---
6 files changed, 113 insertions(+), 24 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e98f1b96f17c57d1d59a4bba1d6a26b281767c07
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]