Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Feb 2008 02:59:54 +0000 (UTC)
From:      Jason Evans <jasone@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/lib/libc/stdlib malloc.3 malloc.c
Message-ID:  <200802060259.m162xsv4050323@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jasone      2008-02-06 02:59:54 UTC

  FreeBSD src repository

  Modified files:
    lib/libc/stdlib      malloc.3 malloc.c 
  Log:
  Track dirty unused pages so that they can be purged if they exceed a
  threshold, according to the 'F' MALLOC_OPTIONS flag.  This obsoletes the
  'H' flag.
  
  Try to realloc() large objects in place.  This substantially speeds up
  incremental large reallocations in the common case.
  
  Fix a bug in arena_ralloc() that caused relocation of sub-page objects
  even if the old and new sizes were in the same size class.
  
  Maintain trees of runs and simplify the per-chunk page map.  This allows
  logarithmic-time searching for sufficiently large runs in
  arena_run_alloc(), whereas the previous algorithm required linear time
  in the worst case.
  
  Break various large functions into smaller sub-functions, and inline
  only the functions that are in the fast path for small object
  allocation/deallocation.
  
  Remove an unnecessary check in base_pages_alloc_mmap().
  
  Avoid integer division in choose_arena() for the NO_TLS case on
  single-CPU systems.
  
  Revision  Changes    Path
  1.77      +17 -15    src/lib/libc/stdlib/malloc.3
  1.162     +960 -668  src/lib/libc/stdlib/malloc.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802060259.m162xsv4050323>