]> err.no Git - varnish/log
varnish
16 years agoRework the manager/cacher cli relationship, so that the manager does
phk [Wed, 12 Mar 2008 10:25:51 +0000 (10:25 +0000)]
Rework the manager/cacher cli relationship, so that the manager does
not have to grope around in the cacher's data structures.

Whenever the manager gets a CLI command it does not understand, it
will pass it to the cacher process, if it is running.

This complicated "help" a little bit, because we want to show the
combined commands of the manager and cacher.

Since we're dealing with help anyway, hide undocumented debug
commands from it.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2595 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoChange the default cli help function to ignore options starting
phk [Wed, 12 Mar 2008 10:21:49 +0000 (10:21 +0000)]
Change the default cli help function to ignore options starting
with '-'.

Remove header line.

If argument is not found, return CLIS_UNKNOWN.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2594 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoSlightly more elegant version of the previous commit, which also fixed a
des [Tue, 11 Mar 2008 11:25:28 +0000 (11:25 +0000)]
Slightly more elegant version of the previous commit, which also fixed a
tiny braino.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2593 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoFix a couple of glaring errors in vca_pollspace().
des [Tue, 11 Mar 2008 11:10:19 +0000 (11:10 +0000)]
Fix a couple of glaring errors in vca_pollspace().

Noticed by: Jyri J. Virkki <jyri@virkki.com>

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2592 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoVSL_H_Print() prints a 'b' in the third column for backend-related log
des [Tue, 11 Mar 2008 09:48:27 +0000 (09:48 +0000)]
VSL_H_Print() prints a 'b' in the third column for backend-related log
entries, a 'c' for client-related log entries, and a ' ' for everything
else (CLI Ping for instance).  This makes it hard to process logs with
awk or similar tools, since the number of columns varies.  Therefore,
change the character used for non-backend-or-client log entries to '-'.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2591 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoThis is slightly experimental:
phk [Mon, 10 Mar 2008 21:21:15 +0000 (21:21 +0000)]
This is slightly experimental:

Reduce SHM mutex contention further, by only holding lock over
reservation of space, and do the copying from workthread buffer
to shm buffer efter we let go of the mutex.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2590 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDebian packaging: Move control file "docs" to "varnish.docs" for consistency, add...
ssm [Mon, 10 Mar 2008 08:17:23 +0000 (08:17 +0000)]
Debian packaging: Move control file "docs" to "varnish.docs" for consistency, add HTML changelogs from the doc/ directory to the packaging

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2588 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDebian packaging: Fix syntax error in varnishlog init script, and set correct variabl...
ssm [Mon, 10 Mar 2008 07:46:37 +0000 (07:46 +0000)]
Debian packaging: Fix syntax error in varnishlog init script, and set correct variable in defaults file. Add clarifying comment for variable

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2586 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDebian packaging: Add changelog entry for 1.2-0
ssm [Mon, 10 Mar 2008 07:15:56 +0000 (07:15 +0000)]
Debian packaging: Add changelog entry for 1.2-0

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2583 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDebian packaging: removing obsolete TODO file
ssm [Mon, 10 Mar 2008 07:13:36 +0000 (07:13 +0000)]
Debian packaging: removing obsolete TODO file

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2582 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDebian packaging: Allow adjustment of maximum locked memory size
ssm [Mon, 10 Mar 2008 06:02:00 +0000 (06:02 +0000)]
Debian packaging: Allow adjustment of maximum locked memory size

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2580 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoBraino in previous commit.
des [Sun, 9 Mar 2008 15:24:37 +0000 (15:24 +0000)]
Braino in previous commit.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2577 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoInclude complete headers with each replayed request.
des [Sun, 9 Mar 2008 15:17:49 +0000 (15:17 +0000)]
Include complete headers with each replayed request.
Ignore SIGPIPE, otherwise varnishreplay will stop as soon as varnishd starts
overflowing.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2576 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAdd -k option which specifies the number of log entries to keep. Along with
des [Sun, 9 Mar 2008 15:14:04 +0000 (15:14 +0000)]
Add -k option which specifies the number of log entries to keep.  Along with
-s, this allows varnishlog to be used to extract part of a log file, or
partition a log file into smaller sections.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2575 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAdd a -s option which specifies a number of entries to skip.
des [Sat, 8 Mar 2008 16:55:22 +0000 (16:55 +0000)]
Add a -s option which specifies a number of entries to skip.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2572 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoIf it looks like a new request starts before a previous request on the same
des [Sat, 8 Mar 2008 15:42:23 +0000 (15:42 +0000)]
If it looks like a new request starts before a previous request on the same
fd has finished, flush the previous request with an additional line to note
that the request was interrupted.

This is usually a symptom of the child dying midway through the first
request.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2569 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agodump.pool was removed a while ago.
des [Sat, 8 Mar 2008 13:47:56 +0000 (13:47 +0000)]
dump.pool was removed a while ago.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2565 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoThis is more pre-2.0 than 1.1.2+
ingvar [Fri, 7 Mar 2008 15:07:31 +0000 (15:07 +0000)]
This is more pre-2.0 than 1.1.2+

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2562 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoLog free object workspace instead of used to get the size of the object
phk [Fri, 7 Mar 2008 11:43:38 +0000 (11:43 +0000)]
Log free object workspace instead of used to get the size of the object
structure into the picture.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2561 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAdd diagnostic features to keep track of object workspace usage.
phk [Fri, 7 Mar 2008 11:36:52 +0000 (11:36 +0000)]
Add diagnostic features to keep track of object workspace usage.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2560 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoSplit the http_workspace into sess_workspace and obj_workspace, so they
phk [Fri, 7 Mar 2008 11:13:11 +0000 (11:13 +0000)]
Split the http_workspace into sess_workspace and obj_workspace, so they
can be tuned separately.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2559 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAttempt to mlock(2) SHMFILE in core.
phk [Fri, 7 Mar 2008 11:04:51 +0000 (11:04 +0000)]
Attempt to mlock(2) SHMFILE in core.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2558 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoKeep track of how often we flush the private shm buffer due to overflows.
phk [Fri, 7 Mar 2008 10:58:12 +0000 (10:58 +0000)]
Keep track of how often we flush the private shm buffer due to overflows.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2557 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoPut waiting list shmlogs under diag_bitmap
phk [Fri, 7 Mar 2008 10:36:40 +0000 (10:36 +0000)]
Put waiting list shmlogs under diag_bitmap

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2556 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoCheck EOF as bitflag in kqueue return flags
phk [Wed, 5 Mar 2008 13:18:39 +0000 (13:18 +0000)]
Check EOF as bitflag in kqueue return flags

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2555 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRelax assertions, and fix the build.
des [Tue, 4 Mar 2008 11:42:00 +0000 (11:42 +0000)]
Relax assertions, and fix the build.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2554 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRegen
des [Tue, 4 Mar 2008 11:03:03 +0000 (11:03 +0000)]
Regen

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2553 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDefine obj.hash in the correct place, and regen.
des [Tue, 4 Mar 2008 11:02:25 +0000 (11:02 +0000)]
Define obj.hash in the correct place, and regen.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2552 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoImplement obj.hash.
des [Tue, 4 Mar 2008 10:59:32 +0000 (10:59 +0000)]
Implement obj.hash.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2551 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRemove duplicate allocation.
des [Tue, 4 Mar 2008 10:58:02 +0000 (10:58 +0000)]
Remove duplicate allocation.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2550 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoThe final piece of the double -> string puzzle.
des [Tue, 4 Mar 2008 09:29:54 +0000 (09:29 +0000)]
The final piece of the double -> string puzzle.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2549 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoPolish CLI output
phk [Tue, 4 Mar 2008 08:54:53 +0000 (08:54 +0000)]
Polish CLI output

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2548 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRegen for VRT_double_string()
des [Mon, 3 Mar 2008 17:03:53 +0000 (17:03 +0000)]
Regen for VRT_double_string()

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2547 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoClean up the int -> str and ip -> str conversion code, and add double -> str.
des [Mon, 3 Mar 2008 17:03:05 +0000 (17:03 +0000)]
Clean up the int -> str and ip -> str conversion code, and add double -> str.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2546 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoWorkaround: ignore uncached objects in EXP_Touch()
phk [Fri, 29 Feb 2008 09:38:49 +0000 (09:38 +0000)]
Workaround: ignore uncached objects in EXP_Touch()

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2544 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoGo over the expiry and LRU code once more:
phk [Tue, 26 Feb 2008 11:05:54 +0000 (11:05 +0000)]
Go over the expiry and LRU code once more:

Drop the hangman, with grace implemented we might as well just ditch
the object when the timer expires.

Use separate markers for "on LRU" and "on binheap" and document the
specific protocol for avoiding conflicts between LRU and timer processing.

Many more asserts and a couple of minor bugfixes.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2543 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoFix a bug in the hangman code: conversion from object to objexp
phk [Tue, 26 Feb 2008 09:23:39 +0000 (09:23 +0000)]
Fix a bug in the hangman code: conversion from object to objexp
missed a marker variable.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2542 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoGive the random director its own magic
phk [Tue, 26 Feb 2008 09:12:29 +0000 (09:12 +0000)]
Give the random director its own magic

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2541 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoGet the pthread_mutex_trylock() assert right, the error code is the
phk [Tue, 26 Feb 2008 09:10:35 +0000 (09:10 +0000)]
Get the pthread_mutex_trylock() assert right, the error code is the
return value, and not in errno.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2540 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAvoid asserting on correct errno from pthread_mutextrylock()
phk [Mon, 25 Feb 2008 22:30:23 +0000 (22:30 +0000)]
Avoid asserting on correct errno from pthread_mutextrylock()

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2539 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoExplicitly initialize errno to zero before mutex ops.
phk [Mon, 25 Feb 2008 18:42:07 +0000 (18:42 +0000)]
Explicitly initialize errno to zero before mutex ops.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2538 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoThe expiry module keeps all cached objects on two data structures:
phk [Sat, 23 Feb 2008 20:36:33 +0000 (20:36 +0000)]
The expiry module keeps all cached objects on two data structures:
the LRU list and the binary heap.  In both of these cases, operations
on one object will result in certain fields in neighbor objects in
these data structures to be updated.

In difference from cache_hash.c which examine objects related by
hash match where the existence of the hash lookup in the first place
is a predictor for their likely use, in cache_expire the neighbor
objects are totally unrelated and the fact that we update their
list pointers or binheap index in no way indicates that they will
get a cache hit any time soon.

Paging in one page for a number of objects, just to move another
object up or down the binheap or LRU list is thus not only slow,
but also increases varnish' VM footprint for no real benefit.

This commit moves the relevant housekeeping fields into a "objexp"
structure, which gets hung off the objects when they enter the cache.

The objexp structure is small (40 bytes on i386) so statistically it
is more than an order of magnitude more likely to already be in core
when we need it, compared to the object itself.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2537 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoMake cache_expire.c pick up its own reference on the object.
phk [Sat, 23 Feb 2008 20:03:51 +0000 (20:03 +0000)]
Make cache_expire.c pick up its own reference on the object.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2536 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoFix obj.last_use: We cannot use obj.lru_stamp, as that is only updated
phk [Sat, 23 Feb 2008 19:58:04 +0000 (19:58 +0000)]
Fix obj.last_use:  We cannot use obj.lru_stamp, as that is only updated
when we shuffle the LRU list.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2535 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoOnly move objects to the tail of the LRU queue if we can get the
phk [Sat, 23 Feb 2008 19:54:44 +0000 (19:54 +0000)]
Only move objects to the tail of the LRU queue if we can get the
expiry mutex without waiting.

This is in addition to the already present "only if it have not
been moved recently" check.

This additional mutex-contestion reduction obviously might leave
the LRU list badly out of order, but this can be worked around
by examining obj.last_use in vcl_discard()

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2534 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoIntroduce a TRYLOCK() macro, and remove two ';' which could cause grief.
phk [Sat, 23 Feb 2008 19:48:11 +0000 (19:48 +0000)]
Introduce a TRYLOCK() macro, and remove two ';' which could cause grief.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2533 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoobj->lru_stamp is on TIM_real() not TIM_mono().
phk [Sat, 23 Feb 2008 19:43:57 +0000 (19:43 +0000)]
obj->lru_stamp is on TIM_real() not TIM_mono().

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2532 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRemove unused last_check member and TIM_mono() call
phk [Sat, 23 Feb 2008 19:27:35 +0000 (19:27 +0000)]
Remove unused last_check member and TIM_mono() call

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2531 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRename EXP_TTLchange() to EXP_Rearm() and move binheap check into
phk [Sat, 23 Feb 2008 19:26:38 +0000 (19:26 +0000)]
Rename EXP_TTLchange() to EXP_Rearm() and move binheap check into
cache_expire.c.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2530 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDispose of VCL reference count if we drop parked sessions due to worker
phk [Sat, 23 Feb 2008 19:15:23 +0000 (19:15 +0000)]
Dispose of VCL reference count if we drop parked sessions due to worker
pool shortages.

Fixes ticket #213

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2529 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoWe don't need cryptographic-strength randomness here. Try /dev/urandom
des [Thu, 21 Feb 2008 21:14:57 +0000 (21:14 +0000)]
We don't need cryptographic-strength randomness here.  Try /dev/urandom
first, then /dev/random, then fall back to pid and time.  Using an
uninitialized stack variable as seed is just silly, and Coverity rightly
complains about it (CID#19)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2528 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDump some information about the VCL configuration if we have one.
des [Thu, 21 Feb 2008 20:55:08 +0000 (20:55 +0000)]
Dump some information about the VCL configuration if we have one.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2527 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoWhere applicable, use SPAZ() instead of AZ().
des [Thu, 21 Feb 2008 20:50:16 +0000 (20:50 +0000)]
Where applicable, use SPAZ() instead of AZ().

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2526 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAdd SPAZ() and SPAN() macros which combine AZ() and AN() with spassert().
des [Thu, 21 Feb 2008 20:49:11 +0000 (20:49 +0000)]
Add SPAZ() and SPAN() macros which combine AZ() and AN() with spassert().

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2525 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoTypo patrol
ssm [Wed, 20 Feb 2008 13:39:59 +0000 (13:39 +0000)]
Typo patrol

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2521 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDebian packaging: Disable running of varnishlog by default
ssm [Wed, 20 Feb 2008 12:02:07 +0000 (12:02 +0000)]
Debian packaging: Disable running of varnishlog by default

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2520 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoCount directors as backends.
phk [Wed, 20 Feb 2008 10:59:25 +0000 (10:59 +0000)]
Count directors as backends.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2519 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoMake logging of mutex operations or just contests controlled under diag_bitmap
phk [Tue, 19 Feb 2008 12:05:41 +0000 (12:05 +0000)]
Make logging of mutex operations or just contests controlled under diag_bitmap

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2518 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoOops, this should not have been deleted in my previous commit
phk [Tue, 19 Feb 2008 12:00:47 +0000 (12:00 +0000)]
Oops, this should not have been deleted in my previous commit

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2517 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoIf HSH_Lookup() returns non-NULL, assert that sp->objhead != NULL.
des [Tue, 19 Feb 2008 11:57:04 +0000 (11:57 +0000)]
If HSH_Lookup() returns non-NULL, assert that sp->objhead != NULL.
HSH_Lookup() is supposed to guarantee this, but it appears that it
sometimes doesn't (perhaps a bug snuck in with grace mode?)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2516 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoMove the #include of heritage.h to cache.h.
phk [Tue, 19 Feb 2008 11:52:27 +0000 (11:52 +0000)]
Move the #include  of heritage.h to cache.h.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2515 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRevise the kqueue_acceptor with a sledgehammer.
phk [Tue, 19 Feb 2008 11:10:12 +0000 (11:10 +0000)]
Revise the kqueue_acceptor with a sledgehammer.

Use EV_ONESHOT for all session events to make the kernel delete the
event when it fires, to remove any chance of any race with session
state and kqueue event arming.

For sessions with acceptfilter, this does just what we want (and I
kick myself for not realizing this much sooner).

For sessions where the acceptfilter is not enabled or has given up,
this results in an extra kevent arming operation for each read, but
this is still a much lower overhead than synchrnously deleting
the event when before passing the session on.

Delete all the workarounds and band-aids that had accumulated.

All in all, a win-win-win situation.

I have no idea how many tickets this will close.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2514 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoMove the assertions around; it is apparently possible to get a null event
des [Mon, 18 Feb 2008 17:04:30 +0000 (17:04 +0000)]
Move the assertions around; it is apparently possible to get a null event
on a session that no longer has the fd that the event was registered on.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2513 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoUncapitalize DIAGNOSTICS, since diag_bitmap is not related to the
phk [Mon, 18 Feb 2008 12:00:19 +0000 (12:00 +0000)]
Uncapitalize DIAGNOSTICS, since diag_bitmap is not related to the
#ifdef, which we retain for really heavy duty instrumentation, should
we ever need that.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2512 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoMove kqueue debugging under diag_bitmap control
phk [Mon, 18 Feb 2008 11:54:30 +0000 (11:54 +0000)]
Move kqueue debugging under diag_bitmap control

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2511 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoMove the workspace debugging under diag_bitmap control.
phk [Mon, 18 Feb 2008 11:50:39 +0000 (11:50 +0000)]
Move the workspace debugging under diag_bitmap control.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2510 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoMove the logging of state engine states to use the diag_bitmap
phk [Mon, 18 Feb 2008 11:47:55 +0000 (11:47 +0000)]
Move the logging of state engine states to use the diag_bitmap
instead of #ifdef DIAGNOSTICS for control.

Also reduce VSL mutex cost by 50% for the common case where we have
a worker thread: We did a WSL_Flush() followed by a VSL(), doing a
WSL() before the WSL_FLush saves one VSL mutex op.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2509 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoMake a parameter "diag_bitflag" which can control deeper diagnostics for
phk [Mon, 18 Feb 2008 11:45:58 +0000 (11:45 +0000)]
Make a parameter "diag_bitflag" which can control deeper diagnostics for
us, instead of the #ifdef DIAGNOSTICS which is always not there when you
need it or there when you don't want it.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2508 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoKill debugging shmlogging overlooked for too long.
phk [Mon, 18 Feb 2008 11:04:35 +0000 (11:04 +0000)]
Kill debugging shmlogging overlooked for too long.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2507 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAdd a stats field to monitor the LRU move rate.
phk [Mon, 18 Feb 2008 09:59:08 +0000 (09:59 +0000)]
Add a stats field to monitor the LRU move rate.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2506 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAdd green icon.
des [Sun, 17 Feb 2008 23:36:12 +0000 (23:36 +0000)]
Add green icon.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2505 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAdd a log message for short reads in the content-length case.
des [Sun, 17 Feb 2008 23:29:24 +0000 (23:29 +0000)]
Add a log message for short reads in the content-length case.
Also, clean up some variable names and declarations.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2502 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoA number of changes made while trying to reproduce #176:
des [Sun, 17 Feb 2008 22:37:41 +0000 (22:37 +0000)]
A number of changes made while trying to reproduce #176:

 - modify thread_log() to take an "errcode" argument (typically errno) so
   we don't have to sprinkle the code with strerror() calls.

 - read_line() and read_block() would sometimes unnecessarily log an error
   for a short read; let the caller decide whether a short read is
   acceptable.

 - reorder the if / else if / else blocks in receive_response() so the
   logic is easier to follow.

 - remove test code which we no longer need.

 - fix some style issues; there are still a couple of long lines, though.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2501 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoFix assert in thread_close() for fd == nthreads == 0.
des [Sun, 17 Feb 2008 10:02:07 +0000 (10:02 +0000)]
Fix assert in thread_close() for fd == nthreads == 0.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2500 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoUnfinished Firefox plugin.
des [Sun, 17 Feb 2008 09:32:50 +0000 (09:32 +0000)]
Unfinished Firefox plugin.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2499 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoNo longer necessary
des [Sun, 17 Feb 2008 09:28:44 +0000 (09:28 +0000)]
No longer necessary

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2498 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoNo longer necessary
des [Sun, 17 Feb 2008 09:28:24 +0000 (09:28 +0000)]
No longer necessary

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2497 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoFree leftover buffers when the loop ends (Coverity CID#10)
des [Sun, 17 Feb 2008 09:03:32 +0000 (09:03 +0000)]
Free leftover buffers when the loop ends (Coverity CID#10)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2494 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoMake sure buf is freed in error case (Coverity CID#9)
des [Sun, 17 Feb 2008 08:54:53 +0000 (08:54 +0000)]
Make sure buf is freed in error case (Coverity CID#9)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2493 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRequest is bogus if df_m, df_Uq or df_H are NULL (Coverity CID#2, CID#3)
des [Sun, 17 Feb 2008 08:53:01 +0000 (08:53 +0000)]
Request is bogus if df_m, df_Uq or df_H are NULL (Coverity CID#2, CID#3)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2492 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoWe may get spurious events on an unclosed fd as well. It won't cause
des [Sat, 16 Feb 2008 11:03:37 +0000 (11:03 +0000)]
We may get spurious events on an unclosed fd as well.  It won't cause
any harm, but I still want to catch it early so we get a log entry for
it.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2491 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoFlexelint pleasing
phk [Fri, 15 Feb 2008 14:22:23 +0000 (14:22 +0000)]
Flexelint pleasing

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2490 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoMake this cast less suspect to Flexelint
phk [Fri, 15 Feb 2008 13:35:22 +0000 (13:35 +0000)]
Make this cast less suspect to Flexelint

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2489 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoUnused variable
phk [Fri, 15 Feb 2008 13:32:41 +0000 (13:32 +0000)]
Unused variable

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2488 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDefine VARNISH_STATE_DIR
phk [Fri, 15 Feb 2008 13:32:04 +0000 (13:32 +0000)]
Define VARNISH_STATE_DIR

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2487 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoSomebody ate my ')' on the way to the commit.
phk [Fri, 15 Feb 2008 13:31:47 +0000 (13:31 +0000)]
Somebody ate my ')' on the way to the commit.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2486 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoTell if we could not write the PID file.
phk [Fri, 15 Feb 2008 13:19:49 +0000 (13:19 +0000)]
Tell if we could not write the PID file.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2485 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoFlexelint does not react to the assert, so tell it what we know.
phk [Fri, 15 Feb 2008 13:04:36 +0000 (13:04 +0000)]
Flexelint does not react to the assert, so tell it what we know.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2484 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoCheck VLU_Fd return for good measure.
phk [Fri, 15 Feb 2008 12:59:59 +0000 (12:59 +0000)]
Check VLU_Fd return for good measure.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2483 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRemove a spurious debugging message.
phk [Fri, 15 Feb 2008 12:56:01 +0000 (12:56 +0000)]
Remove a spurious debugging message.
Account for the HTTP bits we do know about and handle.
Ignore return value from shutdown(2)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2482 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAssert that VCC did its job with respect to weights.
phk [Fri, 15 Feb 2008 12:47:42 +0000 (12:47 +0000)]
Assert that VCC did its job with respect to weights.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2481 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoInsist on a non-zero weight for random director memebers and
phk [Fri, 15 Feb 2008 12:44:42 +0000 (12:44 +0000)]
Insist on a non-zero weight for random director memebers and

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2480 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoDon't advance the token in vcc_UintVal(), that prevents precise
phk [Fri, 15 Feb 2008 12:42:48 +0000 (12:42 +0000)]
Don't advance the token in vcc_UintVal(), that prevents precise
error messages based on the value of the integer.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2479 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoUse the abort2(2) function to record our panic string, if we have it.
phk [Fri, 15 Feb 2008 12:30:47 +0000 (12:30 +0000)]
Use the abort2(2) function to record our panic string, if we have it.

Protect macros with do {....} while(0)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2478 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoAdd a paramter for maximum CLI buffer size and use it both in child
phk [Fri, 15 Feb 2008 11:52:41 +0000 (11:52 +0000)]
Add a paramter for maximum CLI buffer size and use it both in child
and manager.  To take effect, it must be specified with -p on the
command line.

Use VLU for managers CLI handling.

Note CLI connection events on stderr.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2477 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoGive uint parameters the same treatment as bool and timeouts: eliminate
phk [Fri, 15 Feb 2008 11:27:25 +0000 (11:27 +0000)]
Give uint parameters the same treatment as bool and timeouts: eliminate
a lot of silly trivial functions.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2476 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRewrite the childs CLI handling to use VLU
phk [Fri, 15 Feb 2008 11:15:59 +0000 (11:15 +0000)]
Rewrite the childs CLI handling to use VLU

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2475 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoRemove a duplicated message on the childs stdout.
phk [Fri, 15 Feb 2008 11:15:41 +0000 (11:15 +0000)]
Remove a duplicated message on the childs stdout.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2474 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoA Give VLU_New() an optional buffersize argument
phk [Fri, 15 Feb 2008 10:57:20 +0000 (10:57 +0000)]
A Give VLU_New() an optional buffersize argument

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2473 d4fa192b-c00b-0410-8231-f00ffab90ce4

16 years agoLog everything we see on the childs stdout/stderr to syslog.
phk [Fri, 15 Feb 2008 10:36:21 +0000 (10:36 +0000)]
Log everything we see on the childs stdout/stderr to syslog.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2472 d4fa192b-c00b-0410-8231-f00ffab90ce4