Re: [PATCH v3, part4 38/39] mm/hotplug: prepare for removingnum_physpages

From: Sam Ravnborg
Date: Fri Mar 29 2013 - 12:40:26 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/