Message ID | 20220827112043.187028-1-wangkefeng.wang@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm: kill is_memblock_offlined() | expand |
On 27.08.22 13:20, Kefeng Wang wrote: > Directly check state of struct memory_block, no need a single function. > > Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> > --- > 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)); Reviewed-by: David Hildenbrand <david@redhat.com>
On Sat, Aug 27, 2022 at 07:20:43PM +0800, Kefeng Wang wrote: > Directly check state of struct memory_block, no need a single function. > > Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> Reviewed-by: Oscar Salvador <osalvador@suse.de>
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@huawei.com> > --- Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> > 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));
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));
Directly check state of struct memory_block, no need a single function. Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> --- drivers/base/memory.c | 6 ------ include/linux/memory_hotplug.h | 2 -- mm/memory_hotplug.c | 3 +-- 3 files changed, 1 insertion(+), 10 deletions(-)