[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