On Mon, 2011-03-28 at 11:47 +0200, Daniel Kiper wrote: > > +static enum bp_state reserve_additional_memory(long credit) > +{ > + int nid, rc; > + u64 start; > + unsigned long balloon_hotplug = credit; > + > + start = PFN_PHYS(SECTION_ALIGN_UP(max_pfn)); > + balloon_hotplug = (balloon_hotplug & PAGE_SECTION_MASK) + PAGES_PER_SECTION; > + nid = memory_add_physaddr_to_nid(start); Is the 'balloon_hotplug' calculation correct? I _think_ you're trying to round up to the SECTION_SIZE_PAGES. But, if 'credit' was already section-aligned I think you'll unnecessarily round up to the next SECTION_SIZE_PAGES boundary. Should it just be: balloon_hotplug = ALIGN(balloon_hotplug, PAGES_PER_SECTION); You might also want to consider some nicer units for those suckers. 'start_paddr' is _much_ easier to grok than 'start', for instance. -- 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>