git: hammer2 - cleanup embedded data hacks
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Dec 11 23:32:35 PST 2013
commit 91caa51ca652ce2e640f528c7d9ab5c42cc8819b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Dec 11 23:17:41 2013 -0800
hammer2 - cleanup embedded data hacks
* Chains of type BREF_TYPE_INODE and BREF_TYPE_FREEMAP_LEAF were embedding
their data (using a kmalloc()'d copy instead of a buffer-cache mapping).
This was done due to recursive locking issues with struct buf's.
* With the new hammer2_dio.c module we no longer have to use this hack.
Remove it and use device buffer mappings (via dio) for these two chain
types.
* All chains except the embedded volume and freemap headers now use buffer
maps.
* This should substantially reduce adhoc kernel memory use and improve
performance as VOP calls no longer have to kmalloc/bcopy/kfree clean
inode data on every call.
Summary of changes:
sys/vfs/hammer2/hammer2_chain.c | 184 +++++++++-------------------------------
sys/vfs/hammer2/hammer2_flush.c | 13 ++-
2 files changed, 50 insertions(+), 147 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/91caa51ca652ce2e640f528c7d9ab5c42cc8819b
--
DragonFly BSD source repository
More information about the Commits
mailing list