[squid-dev] [PATCH] mempools-nozero: turn StoreEntry into MEMPROXY_CLASS

Alex Rousskov rousskov at measurement-factory.com
Fri Aug 28 17:24:32 UTC 2015


On 08/28/2015 09:02 AM, Kinkie wrote:

> On Thu, Aug 27, 2015 at 9:28 PM, Alex Rousskov wrote:
> 
>     On 08/27/2015 08:58 AM, Kinkie wrote:
>     >   this patch turns StoreEntry into MEMPROXY_CLASS, getting rid of the
>     > default constructors.
>     >   In the process, it turns hash_link into a class, giving it a default
>     > constructor in order to support nonzeroing pools.
>     >   The old custom allocator also gave a nonstandard chunk size; that
>     > tweak should not be necessary anymore.


>     Can you explain why that tweak should not be necessary any more?


> It was discussed on IRC (log edited for clarity, date is 2015-08-20)

Does not seem like it was _explained_ though.

Our vague understanding of the original code seems to revolve around
something like "larger chunk size was specified to allocate large number
of StoreEntry objects efficiently". It is not clear to me why allocating
large number of StoreEntry objects efficiently no longer requires larger
chunks.

It is strange that your proposed commit message claims that something
should not be needed any more but we do not actually know whether it is
needed or not. If this goes in, I would recommend clearly stating that
your are changing something potentially major that you _hope_ has no
negative performance effects.


> <yadi> kinkie: I think this calls for an experimental targeted
> conversion with lots of tests on what behaviour is affected.


I would agree in general, but I doubt you can run relevant tests in this
case. Perhaps there a way to avoid this particular part of the change
and keep the StoreEntry chunk sizes the same as they are today?


Thank you,

Alex.



More information about the squid-dev mailing list