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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>