1. 10 Oct, 2013 5 commits
  2. 09 Oct, 2013 16 commits
  3. 08 Oct, 2013 4 commits
    • Poul-Henning Kamp's avatar
      Totally overhaul the EXP code. · ef0666a0
      Poul-Henning Kamp authored
      In general new/changed/killed objects are posted in the exp_thread
      mailbox, and suitably handled by the exp_thread at its convenience.
      
      The binheap is only manipulated by exp_thread, and it doesn't
      need to hold any locks to do so.
      
      The exp_mtx only protects the inbox to the exp_thread.
      
      oc->flags and the lru-list are protected by the lru->mtx.
      
      EXP_NukeLRU() is temporarily disabled.
      
      When LRU-Nuking to make space, we mark the object as dying, so HSH
      will ignore it and steal the storage from it right away.  We post the
      rest of the object to exp_thread to clean up later.
      
      The LRU change makes the 3-4 LRU test-cases unstable, (c00044, c00045,
      r01140...) because they were used to the full object being reaped,
      rather than only the storage segments.  I'm to tired to fix/tune those
      cases tonight.
      
      But apart from that, it seems to run the test-cases.
      ef0666a0
    • Poul-Henning Kamp's avatar
      Move inserts into the binheap into the expiry-thread. · 255f02cf
      Poul-Henning Kamp authored
      This should make object creation faster.
      
      As a sideeffect, we loose the $expiry_sleep parameter:  Now we always
      sleep optimally.
      255f02cf
    • Poul-Henning Kamp's avatar
      Pack the binheap into a structure which will allow us to have · 842e4008
      Poul-Henning Kamp authored
      multiple instances at a later date.
      
      Put the "LRU_DONTMOVE" flag on the lru, rather than the objcore.
      842e4008
    • Poul-Henning Kamp's avatar
      39921cd7
  4. 07 Oct, 2013 1 commit
  5. 04 Oct, 2013 7 commits
  6. 03 Oct, 2013 7 commits