On Sat, Mar 30, 2013 at 12:30:14AM +0800, Jiang Liu wrote: > On 03/30/2013 12:17 AM, Sam Ravnborg wrote: > >>>> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > >>>> index 97454b3..9b1b494 100644 > >>>> --- a/mm/memory_hotplug.c > >>>> +++ b/mm/memory_hotplug.c > >>>> @@ -751,10 +751,6 @@ EXPORT_SYMBOL_GPL(restore_online_page_callback); > >>>> > >>>> void __online_page_set_limits(struct page *page) > >>>> { > >>>> - unsigned long pfn = page_to_pfn(page); > >>>> - > >>>> - if (pfn >= num_physpages) > >>>> - num_physpages = pfn + 1; > >>>> } > >>>> EXPORT_SYMBOL_GPL(__online_page_set_limits); > >>> > >>> How can this be correct? > >>> With this change __online_page_set_limits() is now a nop. > >> Hi Sam, > >> We will eventually remove the global variable num_physpages in the last patch. > >> I kept the nop __online_page_set_limits() because I have a plan to use it to fix other > >> bugs in memory hotplug, otherwise it may be killed too. > > > > The xen ballon driver uses __online_page_set_limits for memory > > hotplug - so this will break this driver afaics. > Hi Sam, > I haven't gotten your point yet here. > Function __online_page_set_limits() was only used to update the global variable > num_physpages, and one of the goals of this patch set is to get rid of num_physpages. > So I think it won't break Xen balloon driver. > Please refer to the patch here, which eventually kills num_physpages. > http://marc.info/?l=linux-mm&m=136431387813309&w=2 I assumed that num_physpages was used run-time to check for the available number of pages. And __online_page_set_limits() were used to reduced the number of online pages. But a quick grep did not reveal any such use. So it looks OK - thanks for the clarification. Sam -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html