]> err.no Git - varnish/commit
Deoptimize the central object matching loop in the hash code:
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Mon, 28 Jan 2008 08:46:15 +0000 (08:46 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Mon, 28 Jan 2008 08:46:15 +0000 (08:46 +0000)
commitff2f6cbecf000e81e3dcae5fa17930a30a676986
treeb79784967c1aeebf762b86091ee83f7684072fc0
parentae19320d08b72493f314443855576e25ce8f37ef
Deoptimize the central object matching loop in the hash code:

With the advent of prefetch and degraded mode, the invariants of
objectheads change so that more than one object can be busy at any
one time.

Thus we can no longer assume that the busy object or one subsequent to
it, is the one we eventually desire, and we must start our search from
the front of the list again.

As an amusing sidenote: this eliminates the only "goto" in all of varnishd.

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