git: kernel - Revamp subr_alist and get it ready for use

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Nov 18 21:08:38 PST 2011


commit 7552e9eef6eb8f0961f48246048d0983de799206
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Nov 18 20:57:16 2011 -0800

    kernel - Revamp subr_alist and get it ready for use
    
    * Fix numerous bugs in the bighint code.
    
    * Add API functions to allow static initialization.
    
    * When shortcutting chunks we still should flesh out the parent's whole
      array.  This makes alist_free_info() easier to implement.
    
    * Implement alist_free_info() which provides information on the largest
      trailing chunk available (with some restrictions).  This is used to
      chop down a large preinitialization.
    
    * Implement an allocate-after-block feature to alist_alloc()
    
    * Implement natural alignment and boundary handling.  Allocations can only
      be in powers of 2 internally with odd-sized allocations allocating the
      larger size and then piecemeal-freeing the trailing portion.  This also
      has the effect of ensuring that the boundary and alignment will always
      be the nearest greater or equal power of 2 to the allocation request size.

Summary of changes:
 sys/kern/subr_alist.c |  608 ++++++++++++++++++++++++++++++++-----------------
 sys/sys/alist.h       |   62 +++--
 2 files changed, 435 insertions(+), 235 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7552e9eef6eb8f0961f48246048d0983de799206


-- 
DragonFly BSD source repository





More information about the Commits mailing list