看板 DFBSD_commit 關於我們 聯絡資訊
commit ff10d9548f6b395b5e9c0485daa45a3b236c1572 Author: Matthew Dillon <dillon@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