Messages in this thread | | | Subject | Re: [PATCH] xen/balloon: Memory hotplug support for Xen balloon driver | From | Dave Hansen <> | Date | Mon, 28 Mar 2011 08:55:27 -0700 |
| |
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
| |