Commits on Sep 3, 2012
  1. item locks now lock hash table buckets

    dormando committed Aug 18, 2012
    expansion requires switching to a global lock temporarily, so all buckets have
    a covered read lock.
    slab rebalancer is paused during hash table expansion.
    internal item "trylocks" are always issued, and tracked as the hash power
    variable can change out from under it.
Commits on Jul 27, 2012
  1. remove end_page_ptr business from slabs

    dormando committed Jul 15, 2012
    slab memory assignment used to lazily split a new page into chunks as memory
    was requested. now it doesn't, so drop all the related code.
    Cuts the memory assignment hotpath a tiny bit, so that's exciting.
Commits on Jan 4, 2012
  1. no same-class reassignment, better errors

    dormando committed Jan 4, 2012
    Add human parseable strings to the errors for slabs ressign. Also prevent
    reassigning memory to the same source and destination.
Commits on Dec 20, 2011
  1. slab reassignment

    dormando committed Dec 19, 2011
    Adds a "slabs reassign src dst" manual command, and a thread to safely process
    slab moves in the background.
    - slab freelist is now a linked list, reusing the item structure
    - is -o slab_reassign is enabled, an extra background thread is started
    - thread attempts to safely free up items when it's been told to move a page
      from one slab to another.
    -o slab_automove is stubbed.
    There are some limitations. Most notable is that you cannot repeatedly move
    pages around without first having items use up the memory. Slabs with newly
    assigned memory work off of a pointer, handing out chunks individually. We
    would need to change that to quickly split chunks for all newly assigned pages
    into that slabs freelist.
    Further testing is required to ensure such is possible without impacting
Commits on Nov 12, 2010
Commits on Oct 7, 2009
  1. remove old unfinished slab reassignment code

    dormando committed with dustin Oct 7, 2009
    Old code was unfinished, had no test coverage, and not quite what we'll end up
    with in the future.
    Slab reassignment will happen in earnest soon, but for now we should stop
    confusing users.
Commits on Apr 2, 2009
  1. Don't expose the protocol used to the client api of the stats

    Trond Norbye committed with dustin Apr 2, 2009
    (dustin) I made some changes to the original growth code to pass in
    the required size.
Commits on Mar 5, 2009
Commits on Jan 3, 2009
  1. Fix for binary stats with subcommand.

    dustin committed Oct 28, 2008
    The subcommand is not necessarily a null terminated string (in the
    case of the binary protocol, it certainly isn't).  The subcommand
    would not be recognized due to strcmp() failing.
    Tested with both text and binary protocols.
  2. Fix for stats opaque issue pointed out at the hackathon and removed s…

    Toru Maesaka committed with dustin Oct 19, 2008
    …ome wasteful function calls (more to come).
  3. The slabber no longer needs a is_binary like flag for stats due to ab…

    Toru Maesaka committed with dustin Oct 5, 2008
    …straction by the callback.
  4. Changed the argument ordering for stats callback to something more co…

    Toru Maesaka committed with dustin Oct 1, 2008
  5. Support of slabber stats via the binary protocol.

    Toru Maesaka committed with dustin Sep 9, 2008
  6. Code cleaned by running devtools/ script.

    Toru Maesaka committed with dustin Aug 20, 2008
Commits on Jul 8, 2008
Commits on Jul 3, 2008
  1. Initial attempt of supporting stats in binary protocol.

    Toru Maesaka committed Jul 3, 2008
Commits on Mar 3, 2008
  1. Don't re-calculate the slab class id for slabs_free() either.

    dormando committed Mar 3, 2008
    This + previous patch slightly reduce user CPU time, especially during heavy evictions.
    git-svn-id: b0b603af-a30f-0410-a34e-baf09ae79d0b
  2. Don't re-calculate the slab class id.

    dormando committed Mar 3, 2008
    slabs_alloc() internally calls slabs_clsid(), so an eviction case would crawl the list of slab classes three times.
    git-svn-id: b0b603af-a30f-0410-a34e-baf09ae79d0b
Commits on Feb 25, 2008
  1. Enable use of large memory pages (Trond Norbye) <Trond.Norbye@Sun.COM>

    Trond Norbye committed Feb 25, 2008
    Initial support for solaris.
    git-svn-id: b0b603af-a30f-0410-a34e-baf09ae79d0b
Commits on Jul 10, 2007
  1. Minimal doxygen configuration

    Paul Lindner committed Jul 10, 2007
    git-svn-id: b0b603af-a30f-0410-a34e-baf09ae79d0b
Commits on Apr 16, 2007
  1. Merge multithreaded into trunk, commit #2 (first commit only did the

    Steven Grimm committed Apr 16, 2007
    new files, not the modified ones.)
    git-svn-id: b0b603af-a30f-0410-a34e-baf09ae79d0b
Commits on Apr 10, 2007
  1. update clean-whitespace, add automated whitespace test, and clean whi…

    Paul Lindner committed Apr 10, 2007
    git-svn-id: b0b603af-a30f-0410-a34e-baf09ae79d0b
Commits on Mar 6, 2007
  1. multiple cleanups/refactoring, see ChangeLog

    Paul Lindner committed Mar 6, 2007
    git-svn-id: b0b603af-a30f-0410-a34e-baf09ae79d0b