At 10/05/2012 05:31 AM, KOSAKI Motohiro Wrote: > On Wed, Oct 3, 2012 at 6:02 AM, Yasuaki Ishimatsu > <isimatu.yasuaki@xxxxxxxxxxxxxx> wrote: >> From: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> >> >> add_memory() hot adds a physical memory. But remove_memory does not >> hot remove a phsical memory. It only offlines memory. The name >> confuse us. >> >> So the patch renames remove_memory() to offline_memory(). We will >> use rename_memory() for hot removing memory. >> >> CC: David Rientjes <rientjes@xxxxxxxxxx> >> CC: Jiang Liu <liuj97@xxxxxxxxx> >> CC: Len Brown <len.brown@xxxxxxxxx> >> CC: Christoph Lameter <cl@xxxxxxxxx> >> Cc: Minchan Kim <minchan.kim@xxxxxxxxx> >> CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> >> CC: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> >> Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> >> Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx> >> --- >> drivers/acpi/acpi_memhotplug.c | 2 +- >> include/linux/memory_hotplug.h | 2 +- >> mm/memory_hotplug.c | 6 +++--- >> 3 files changed, 5 insertions(+), 5 deletions(-) > > Probably, the better way is to just remove remove_memory() and use > offline_pages(). we don't notify the userspace that the memory is offlined in offline_pages(). We reimplement offline_memory(), but ishimatsu doesn't include that patch to this series. Thanks Wen Congyang > > btw, current remove_memory() pfn calculation is just buggy. > > >> int remove_memory(u64 start, u64 size) >> { >> unsigned long start_pfn, end_pfn; >> >> start_pfn = PFN_DOWN(start); >> end_pfn = start_pfn + PFN_DOWN(size); > > It should be: > > start_pfn = PFN_DOWN(start); > end_pfn = PFN_UP(start + size) > > or > > start_pfn = PFN_UP(start); > end_pfn = PFN_DOWN(start + size) > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>