On 8/27/22 16:50, Kefeng Wang wrote: > Directly check state of struct memory_block, no need a single function. > > Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> > --- Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx> > drivers/base/memory.c | 6 ------ > include/linux/memory_hotplug.h | 2 -- > mm/memory_hotplug.c | 3 +-- > 3 files changed, 1 insertion(+), 10 deletions(-) > > diff --git a/drivers/base/memory.c b/drivers/base/memory.c > index bc60c9cd3230..9aa0da991cfb 100644 > --- a/drivers/base/memory.c > +++ b/drivers/base/memory.c > @@ -869,12 +869,6 @@ void remove_memory_block_devices(unsigned long start, unsigned long size) > } > } > > -/* return true if the memory block is offlined, otherwise, return false */ > -bool is_memblock_offlined(struct memory_block *mem) > -{ > - return mem->state == MEM_OFFLINE; > -} > - > static struct attribute *memory_root_attrs[] = { > #ifdef CONFIG_ARCH_MEMORY_PROBE > &dev_attr_probe.attr, > diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h > index 409196ef8038..de87545eabe9 100644 > --- a/include/linux/memory_hotplug.h > +++ b/include/linux/memory_hotplug.h > @@ -11,7 +11,6 @@ struct page; > struct zone; > struct pglist_data; > struct mem_section; > -struct memory_block; > struct memory_group; > struct resource; > struct vmem_altmap; > @@ -352,7 +351,6 @@ extern void move_pfn_range_to_zone(struct zone *zone, unsigned long start_pfn, > extern void remove_pfn_range_from_zone(struct zone *zone, > unsigned long start_pfn, > unsigned long nr_pages); > -extern bool is_memblock_offlined(struct memory_block *mem); > extern int sparse_add_section(int nid, unsigned long pfn, > unsigned long nr_pages, struct vmem_altmap *altmap, > struct dev_pagemap *pgmap); > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index 2fd45ccbce45..9ae1f98548b1 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -1969,11 +1969,10 @@ int __ref offline_pages(unsigned long start_pfn, unsigned long nr_pages, > > static int check_memblock_offlined_cb(struct memory_block *mem, void *arg) > { > - int ret = !is_memblock_offlined(mem); > int *nid = arg; > > *nid = mem->nid; > - if (unlikely(ret)) { > + if (unlikely(mem->state != MEM_OFFLINE)) { > phys_addr_t beginpa, endpa; > > beginpa = PFN_PHYS(section_nr_to_pfn(mem->start_section_nr));