Messages in this thread | | | Date | Tue, 20 Nov 2012 14:22:28 +0800 | From | Jaegeuk Hanse <> | Subject | Re: [PATCH v3 06/12] memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP |
| |
On 11/01/2012 05:44 PM, Wen Congyang wrote: > From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com> > > Currently __remove_section for SPARSEMEM_VMEMMAP does nothing. But even if > we use SPARSEMEM_VMEMMAP, we can unregister the memory_section. > > So the patch add unregister_memory_section() into __remove_section().
Hi Yasuaki,
In order to review this patch, I should dig sparse memory codes in advance. But I have some confuse of codes. Why need encode/decode mem map instead of set mem_map to ms->section_mem_map directly?
Regards, Jaegeuk
> > CC: David Rientjes <rientjes@google.com> > CC: Jiang Liu <liuj97@gmail.com> > CC: Len Brown <len.brown@intel.com> > CC: Christoph Lameter <cl@linux.com> > Cc: Minchan Kim <minchan.kim@gmail.com> > CC: Andrew Morton <akpm@linux-foundation.org> > CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> > CC: Wen Congyang <wency@cn.fujitsu.com> > Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com> > --- > mm/memory_hotplug.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index ca07433..66a79a7 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -286,11 +286,14 @@ static int __meminit __add_section(int nid, struct zone *zone, > #ifdef CONFIG_SPARSEMEM_VMEMMAP > static int __remove_section(struct zone *zone, struct mem_section *ms) > { > - /* > - * XXX: Freeing memmap with vmemmap is not implement yet. > - * This should be removed later. > - */ > - return -EBUSY; > + int ret = -EINVAL; > + > + if (!valid_section(ms)) > + return ret; > + > + ret = unregister_memory_section(ms); > + > + return ret; > } > #else > static int __remove_section(struct zone *zone, struct mem_section *ms)
| |