git: kernel - Enhance getcacheblk() (improve saturated write performance (3)).

Matthew Dillon dillon at
Tue Jan 11 01:25:47 PST 2011

commit 72d6a027d96b30c52d242ce162021efcecfe2bb9
Author: Matthew Dillon <dillon at>
Date:   Tue Jan 11 01:19:55 2011 -0800

    kernel - Enhance getcacheblk() (improve saturated write performance (3)).
    * Change getcacheblk() to use getblk() instead of findblk() when the
      block size is known, allowing a cached buffer to be reinstantiated
      from VM backing store in the MPSAFE path.
      Well, mostly MPSAFE, the vm_token is still acquired, but this is still
      much faster than what HAMMER does when the buffer is not in-cache.
    * This more than doubles blogbench performance w/HAMMER and further reduces
      concurrent read vs write conflicts.

Summary of changes:
 sys/kern/vfs_bio.c            |   39 ++++++++++++++++++++++++++++++---------
 sys/sys/buf.h                 |    2 +-
 sys/vfs/hammer/hammer_vnops.c |    2 +-
 sys/vfs/tmpfs/tmpfs_vnops.c   |    2 +-
 4 files changed, 33 insertions(+), 12 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list