Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Feb 2009 17:10:01 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/kern subr_clist.c src/sys/sys clist.h
Message-ID:  <200902041712.n14HCPCF069402@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
ed          2009-02-04 17:10:01 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             subr_clist.c 
    sys/sys              clist.h 
  Log:
  SVN rev 188115 on 2009-02-04 17:10:01Z by ed
  
  Remove slush space from clists.
  
  Right now we only have a very small amount of drivers that use clists,
  but we still allocate 50 cblocks as slush space, which allows drivers to
  temporarily overcommit their storage. Most of the drivers don't allow
  this anyway.
  
  I've performed the following changes:
  
  - We don't allocate any cblocks on startup.
  
  - I've removed the DDB command, because it has nothing useful to print
    now. You can obtain the amount of allocated blocks by running `vmstat
    -m | grep clist'.
  
  - I've removed cfreecount, which is now unused.
  
  - The old code first tries to allocate using M_NOWAIT, followed by
    M_WAITOK. This doesn't make any sense, so just remove this logic. It
    seems the drivers allow us to sleep anyway.
  
  We can even remove ccmax from clist_alloc_cblocks and c_cbmax from
  struct clist, but this breaks binary compatibility.
  
  This reduces the amount of allocated cblocks on my system from 54 to 4.
  
  Revision  Changes    Path
  1.50      +10 -75    src/sys/kern/subr_clist.c
  1.15      +0 -2      src/sys/sys/clist.h



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