git: kernel - Optimize the x86-64 lwbuf API

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Jan 19 17:30:21 PST 2011


commit 7a683a249a628667d7a484f26af36786efbdd87f
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Jan 19 17:27:46 2011 -0800

    kernel - Optimize the x86-64 lwbuf API
    
    * Change lwbuf_alloc(m) to lwbuf_alloc(m, &lwb_cache), passing a pointer to
      a struct lwb which lwbuf_alloc() may used if it desires.
    
    * The x86-64 lwbuf_alloc() now just fills in the passed lwb and returns it.
      The i386 lwbuf_alloc() still uses the objcache w/ its kva mappings.  This
      removes objcache calls from the critical path.
    
    * The x86-64 lwbuf_alloc()/lwbuf_free() functions are now inlines (ALL x86-64
      lwbuf functions are now inlines).

Summary of changes:
 sys/cpu/i386/include/lwbuf.h             |    2 +-
 sys/cpu/i386/misc/lwbuf.c                |    2 +-
 sys/cpu/x86_64/include/lwbuf.h           |   37 ++++++++++++++++++++++-------
 sys/cpu/x86_64/misc/lwbuf.c              |   25 +++++++++++++------
 sys/kern/imgact_elf.c                    |    6 ++++-
 sys/kern/kern_exec.c                     |    3 +-
 sys/kern/kern_sfbuf.c                    |    2 +-
 sys/kern/kern_subr.c                     |    3 +-
 sys/kern/kern_umtx.c                     |    5 ++-
 sys/kern/kern_xio.c                      |   12 ++++++---
 sys/platform/vkernel/platform/copyio.c   |    6 +++-
 sys/platform/vkernel64/platform/copyio.c |    6 +++-
 sys/sys/imgact.h                         |    2 +
 sys/sys/sfbuf.h                          |    5 ++-
 sys/vm/vm_fault.c                        |    3 +-
 sys/vm/vm_zeroidle.c                     |    9 ++++---
 sys/vm/vnode_pager.c                     |    3 +-
 17 files changed, 90 insertions(+), 41 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7a683a249a628667d7a484f26af36786efbdd87f


-- 
DragonFly BSD source repository





More information about the Commits mailing list