commit 365b488c78f50d8c852703c59559f0593e1a6c96 Author: Tomohiro Kusumi <kusumi.tomoh...@gmail.com> Date: Thu Mar 12 08:30:30 2015 +0900
sbin/hammer: Don't use the same buffer for blockmap layer1 and layer2 - Functions that lookup blockmap layer1 and layer2 should use different buffer variable (set to NULL) for each get_buffer_data() call to retrieve ondisk data unless isnew flag is set to 1. - From the way newfs_hammer allocates layer entries on disks, any given layer1 entry and layer2 entry are never both cached in a single hammer buffer. Passing layer1 buffer to get_buffer_data() as a cache for layer2 happens to be overhead as it takes extra cache boundary check (and we know layer2 isn't cached in layer1 buffer). Summary of changes: sbin/hammer/blockmap.c | 13 ++++++++----- sbin/hammer/ondisk.c | 14 ++++++++------ 2 files changed, 16 insertions(+), 11 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/365b488c78f50d8c852703c59559f0593e1a6c96 -- DragonFly BSD source repository