[Devel] Re: [RFC v14][PATCH 08/54] Dump memory address space
Oren Laadan
orenl at cs.columbia.edu
Mon May 4 00:58:12 PDT 2009
Dave Hansen wrote:
> On Tue, 2009-04-28 at 19:23 -0400, Oren Laadan wrote:
>> +/* return (and detach) first empty page-array in the pool, if exists */
>> +static inline struct ckpt_pgarr *pgarr_from_pool(struct ckpt_ctx *ctx)
>> +{
>> + struct ckpt_pgarr *pgarr;
>> +
>> + if (list_empty(&ctx->pgarr_pool))
>> + return NULL;
>> + pgarr = list_first_entry(&ctx->pgarr_pool, struct ckpt_pgarr, list);
>> + list_del(&pgarr->list);
>> + return pgarr;
>> +}
>
> What's the pool for, again? If we're alloc/freeing a bunch of these,
> I'd vote for a slab cache rather than managing our own pool.
It's not about the 'struct ckpt_pgarr' per se. Each ckpt_pgarr in
itself points to two page-size buffers allocate as well. The pool
avoids redundant alloc/dealloc of those buffers while iterating
through all VMAs of all tasks.
Oren.
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list