kernel - Optimize the x86-64 lwbuf API
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 20 Jan 2011 01:27:46 +0000 (17:27 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 20 Jan 2011 01:27:46 +0000 (17:27 -0800)
commit7a683a249a628667d7a484f26af36786efbdd87f
tree46296f5638bf02325a3dc32931f062c4ebe77acc
parent283b944850fbb3421a77ef06aa121d066f5c8cad
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).
17 files changed:
sys/cpu/i386/include/lwbuf.h
sys/cpu/i386/misc/lwbuf.c
sys/cpu/x86_64/include/lwbuf.h
sys/cpu/x86_64/misc/lwbuf.c
sys/kern/imgact_elf.c
sys/kern/kern_exec.c
sys/kern/kern_sfbuf.c
sys/kern/kern_subr.c
sys/kern/kern_umtx.c
sys/kern/kern_xio.c
sys/platform/vkernel/platform/copyio.c
sys/platform/vkernel64/platform/copyio.c
sys/sys/imgact.h
sys/sys/sfbuf.h
sys/vm/vm_fault.c
sys/vm/vm_zeroidle.c
sys/vm/vnode_pager.c