Re: [RFC v11][PATCH 05/13] Dump memory address space

From: Dave Hansen
Date: Thu Dec 18 2008 - 13:22:13 EST


On Thu, 2008-12-18 at 10:15 -0800, Mike Waychison wrote:
>
> >>> + pgarr = kzalloc(sizeof(*pgarr), GFP_KERNEL);
> >>> + if (!pgarr)
> >>> + return NULL;
> >>> +
> >>> + pgarr->vaddrs = kmalloc(CR_PGARR_TOTAL * sizeof(unsigned
> long),
> >> You used PAGE_SIZE / sizeof(void *) above. Why not
> __get_free_page()?
> >
> > Hahaha .. well, it's a guaranteed method to keep Dave Hansen from
> > barking about not using kmalloc ...
> >
> > Personally I prefer __get_free_page() here, but not enough to keep
> > arguing with him. Let me know when the two of you settle it :)
>
> Alright, I just wasn't sure if it had been considered.

__get_free_page() sucks. It doesn't do cool stuff like redzoning when
you have slab debugging turned on. :)

I would personally suggest never using __get_free_page() unless you
truly need a *PAGE*. That's an aligned, and PAGE_SIZE chunk. If you
don't need alignment, or don't literally need a 'struct page', don't use
it.

-- Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/