Re: [PATCH 2/2] make new alloc_pages_exact()

From: Dave Hansen
Date: Thu Apr 07 2011 - 18:17:54 EST


On Thu, 2011-04-07 at 15:03 -0700, David Rientjes wrote:
> On Thu, 7 Apr 2011, Dave Hansen wrote:
> > What I really wanted in the end was a highmem-capable alloc_pages_exact(),
> > so here it is.
>
> Perhaps expand upon how the new alloc_pages_exact() works and what it will
> be used for instead of only talking about how it's named?

Will do.

> > +/* 'struct page' version */
> > +struct page *__alloc_pages_exact(gfp_t, size_t);
> > +void __free_pages_exact(struct page *, size_t);
>
> They're not required, but these should have the names of the arguments
> like the other prototypes in this file.

Fair enough.

> > - addr = __get_free_pages(gfp_mask, order);
> > - if (addr) {
> > - unsigned long alloc_end = addr + (PAGE_SIZE << order);
> > - unsigned long used = addr + PAGE_ALIGN(size);
> > + page = alloc_pages(gfp_mask, order);
> > + if (page) {
> > + struct page *alloc_end = page + (1 << order);
> > + struct page *used = page + PAGE_ALIGN(size)/PAGE_SIZE;
>
> Wouldn't it better to call this "unused" rather than "used" since it
> represents a cursor over pages that we want to free?

Yeah, agreed. I think I screwed this up once when coding this because I
misread it. I'll change 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/