git: kernel - Optimize the x86-64 lwbuf API
Samuel J. Greear
sjg at evilcode.net
Sun Jan 23 00:52:44 PST 2011
The optimization is cute, almost devolves this into an assignment, but
this new API is quite terrible imo, there must be a cleaner way to do
this.
Sam
On Wed, Jan 19, 2011 at 6:29 PM, Matthew Dillon
<dillon at crater.dragonflybsd.org> wrote:
>
> 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