]> err.no Git - varnish/commit
Now that we do not need the new object while holding the highly trafficed
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Sat, 28 Feb 2009 18:34:07 +0000 (18:34 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Sat, 28 Feb 2009 18:34:07 +0000 (18:34 +0000)
commit2afd543faedec1d26c8f767e7cf4dc10829f9d1c
tree58873984429da2ac3ffaac8e582444a689184572
parentce66d331604996d1b112d8a76be6e2f7c8bff29d
Now that we do not need the new object while holding the highly trafficed
objhead lock, don't preallocate objects.

One unfortunate effect of this preallocation, only recently identified:

On systems with high number of worker threads and high hitrates, considerable
time could elapse between the preallocation of an object to a worker
thread and the use of that object.

This could make cache-misses use a much larger working set size than
really necessary.

I do not have access to any benchmarks that show a credible performance
difference, but reports are most welcome.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3842 d4fa192b-c00b-0410-8231-f00ffab90ce4
varnish-cache/bin/varnishd/cache.h
varnish-cache/bin/varnishd/cache_center.c
varnish-cache/bin/varnishd/cache_hash.c
varnish-cache/bin/varnishd/cache_pool.c
varnish-cache/bin/varnishd/hash_slinger.h