Here's a simple patch to remove the need to zero certain mempool buffers in
squid-2.HEAD. I've had various versions of this float around and somewhat tested
for a while.

http://www.creative.net.au/diffs/20070921-squid2.head-nonzero.diff

The aim here is to allow selective things to be unzeroed - mostly strings and
buffers, the high-volume 'things'.

I'm still getting a proper polygraph testing environment at home (finally)
but, as always, I can never get polymix-4 to run. Initial tests show there's
a noticable CPU drop. About 10% of runtime on my slow p3-600 server is spent
in memset()'ing memory. This patch drops that right down into insignificance.
I think it won't have much of an impact on modern platforms with larger
caches and larger memory busses but it can't hurt.

I'll gather some more statistics before I commit it. About the only change
I'll make is to have the actual non-zero'ing a run-time choice so people can
turn off buffer-zero'ing in squid.conf.




Adrian

Reply via email to