I guess the wrap was done because of __ref, but no reason to have this wrap. So looks good to me. Reviewed-by: Pavel Tatashin <pavel.tatashin@xxxxxxxxxxxxx> On 8/16/18 6:06 AM, David Hildenbrand wrote: > Let's avoid this indirection and just call the function offline_pages(). > > Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> > --- > mm/memory_hotplug.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index 6a2726920ed2..090cf474de87 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -1589,10 +1589,10 @@ static void node_states_clear_node(int node, struct memory_notify *arg) > node_clear_state(node, N_MEMORY); > } > > -static int __ref __offline_pages(unsigned long start_pfn, > - unsigned long end_pfn) > +/* Must be protected by mem_hotplug_begin() or a device_lock */ > +int offline_pages(unsigned long start_pfn, unsigned long nr_pages) > { > - unsigned long pfn, nr_pages; > + unsigned long pfn, end_pfn = start_pfn + nr_pages; > long offlined_pages; > int ret, node; > unsigned long flags; > @@ -1612,7 +1612,6 @@ static int __ref __offline_pages(unsigned long start_pfn, > > zone = page_zone(pfn_to_page(valid_start)); > node = zone_to_nid(zone); > - nr_pages = end_pfn - start_pfn; > > /* set above range as isolated */ > ret = start_isolate_page_range(start_pfn, end_pfn, > @@ -1700,12 +1699,6 @@ static int __ref __offline_pages(unsigned long start_pfn, > undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE); > return ret; > } > - > -/* Must be protected by mem_hotplug_begin() or a device_lock */ > -int offline_pages(unsigned long start_pfn, unsigned long nr_pages) > -{ > - return __offline_pages(start_pfn, start_pfn + nr_pages); > -} > #endif /* CONFIG_MEMORY_HOTREMOVE */ > > /** >