A pool resource consists of a collection of 
pools,
serving requests for different block sizes
.Each individual pool manages a collection of 
chunks
that are in turn divided into blocks of uniform size,
returned via calls to 
do_allocate.Each call to 
do_allocate(size, alignment) is dispatched
to the pool serving the smallest blocks accommodating at least 
size bytes
.