tree d2ccc157354767d70007130b4bd9b34b4bf28013
parent b6b3df3ed3476141f39a3d57b87f801c659e773c
author Willy Tarreau <w@1wt.eu> 1543248586 +0100
committer Willy Tarreau <w@1wt.eu> 1543258232 +0100
encoding latin1

MEDIUM: memory: make the pool cache an array and not a thread_local

Having a thread_local for the pool cache is messy as we need to
initialize all elements upon startup, but we can't until the threads
are created, and once created it's too late. For this reason, the
allocation code used to check for the pool's initialization, and
it was the release code which used to detect the first call and to
initialize the cache on the fly, which is not exactly optimal.

Now that we have initcalls, let's turn this into a per-thread array.
This array is initialized very early in the boot process (STG_PREPARE)
so that pools are always safe to use. This allows to remove the tests
from the alloc/free calls.

Doing just this has removed 2.5 kB of code on all cumulated pool_alloc()
and pool_free() paths.
