>>28An array element at a lower index is guaranteed to have an address that is lower than an array element at a higher index. So if you allocate all the pools from the same array, total ordering is guaranteed.
>>30I don't know what you are trying to say here, and I suspect you don't either. You are aware that page boundaries and cache line boundaries are different, right? Most compilers will try to put things on a cache line boundary if asked; in practice however this can hurt more than help because the padding required to ensure alignment reduces the total cache utilization.