1. 09 Jun, 2008 4 commits
  2. 08 Jun, 2008 1 commit
  3. 07 Jun, 2008 1 commit
    • Poul-Henning Kamp's avatar
      Redo the way we manage the thread pool(s). · ea859f03
      Poul-Henning Kamp authored
      This is necessary to generalize the thread pools to do other tasks
      for us in the future.
      
      Please read the descriptions of the new and changed thread_pool*
      parameters carefully before you tweak them, some of them have
      slightly different meanings now.
      
      The high-level view of this is that we now have dedicated a thread to
      adding threads to the pools, in addition to the thread we already
      had that killed idle threads from the pools.
      
      The difference is that this new thread is quite a bit more reluctant
      to add threads than the previous code, which would add a thread any
      time it could get away with it.
      
      Hopefully that reduces the tendency for thread-pile-ups.
      
      This commit also reduces the cross-pool locking contention by making
      the overflow queue a per pool item.
      
      The down side of that is that more of the stats counters have become
      unlocked and thus can get out of sync if two threads race when updating
      them.  This is an XXX item.
      
      Thanks to Anders Nordby for testing this patch.
      
      
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2653 d4fa192b-c00b-0410-8231-f00ffab90ce4
      ea859f03
  4. 06 Jun, 2008 2 commits
  5. 05 Jun, 2008 4 commits
  6. 02 Jun, 2008 1 commit
  7. 31 May, 2008 2 commits
    • Poul-Henning Kamp's avatar
      · e5d00cf7
      Poul-Henning Kamp authored
      Overhaul the regexp purge/ban code, with a detour around the CLI code.
      
      
      CLI code:
      
      	In CLI help, don't list commands with no syntax description.
      
      	Add a CLI_HIDDEN macro to construct such entries.  They are
      	useful as backwards compatibility entries which we do not want
      	to show in the help.
      
      CLI interface to BAN (purge) code:
      
      	Get the CLI names right for purging so they are purge.FOO instead
      	of FOO.purge.
      
      	This means that you should use "purge.url" and "purge.hash"
      	instead of "url.purge" and "hash.purge".
      
      	Add compat entries for the old, and keep them through the 2.x
      	release series.
      	
      
      	Add purge.list command to list purges currently in effect.
      	NB: This is not 100% locking safe, so don't abuse it.
      
      
      BAN (purge) code:
      
      	Add reference counting and GC to bans.
      
      	Since we now have full reference counting, drop the sequence
      	number based soft references and go to "hard" pointer
      	references from the object to the purges.
      
      	Give the "ban" structure the miniobj treatment while we are
      	at it.
      
      	The cost of this is a lock operation to update refcounts
      	once all applicable bans have been checked on an object.
      
      	There is no locking cost if there is no bans to check.
      
      	Add explicit call to new BAN_DestroyObj() when objects are
      	destroyed to release the refcount.
      
      	When we release an object refcount in BAN_DestroyObj(),
      	check if we can destroy the last purge in the list also.
      
      	We only destroy one ban per BAN_DestroyObj() call, to avoid
      	getting stuck too long time, (tacitly assuming that we will
      	destroy more objects than bans.)
      
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2645 d4fa192b-c00b-0410-8231-f00ffab90ce4
      e5d00cf7
    • Poul-Henning Kamp's avatar
      Go over the Telnet/CLI code in the manager process. · 3a5d621c
      Poul-Henning Kamp authored
      Implement "quit" (ticket 125) and drop the planned aliases.
      
      Add CLIS_CLOSE return status, to communicate that close is happening.
      
      Fix logical bug in fd-table allocation bug in event-engine.
      
      Plug memory leak in CLI session destruction.
      
      Increase listen depth of telnet socket to 10.
      
      Ignore trailing whitespace and empty CLI input lines.
      
      Log CLI sessions and commands into syslog.
      
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2644 d4fa192b-c00b-0410-8231-f00ffab90ce4
      3a5d621c
  8. 30 May, 2008 3 commits
  9. 27 May, 2008 1 commit
  10. 26 May, 2008 4 commits
  11. 24 Apr, 2008 1 commit
  12. 21 Apr, 2008 2 commits
  13. 17 Apr, 2008 1 commit
  14. 16 Apr, 2008 1 commit
  15. 08 Apr, 2008 3 commits
  16. 03 Apr, 2008 1 commit
  17. 02 Apr, 2008 1 commit
  18. 31 Mar, 2008 7 commits