git: libc - Bring dmalloc in for x86-64

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Nov 13 09:37:22 PST 2011


commit ff10d9548f6b395b5e9c0485daa45a3b236c1572
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Nov 13 09:31:01 2011 -0800

    libc - Bring dmalloc in for x86-64
    
    * Bring in a much faster allocator for x86-64.  DMalloc is a slab alloctor
      with dynamic slab sizing capabilities, allowing slabs to be used for
      all allocation sizes.  This simplifies the code paths considerably.
    
    * DMalloc is optimized for heavy-use situations but will still retain a
      run size similar to the old nmalloc code.  The VSZ is going to be quite
      a bit bigger, though.  The best test is w/mysqld as mysql[d] allocates
      and frees memory at a very high rate.
    
    * DMalloc is almost completely lockless.  Slabs become owned by threads
      which can then manipulate them trivially.  Frees can operate on foreign
      slabs in a lockless manner.  A depot is used primarily as a catch-all
      for thread exits.
    
    Written-by: Matthew Dillon

Summary of changes:
 lib/libc/stdlib/Makefile.inc |    8 +-
 lib/libc/stdlib/dmalloc.c    | 1524 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 1531 insertions(+), 1 deletions(-)
 create mode 100644 lib/libc/stdlib/dmalloc.c

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ff10d9548f6b395b5e9c0485daa45a3b236c1572


-- 
DragonFly BSD source repository





More information about the Commits mailing list