Messages in this thread | | | Subject | Re: [PATCH 2/2] make new alloc_pages_exact() | From | Dave Hansen <> | Date | Thu, 07 Apr 2011 15:17:43 -0700 |
| |
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
| |