sh: Add support for memory hot-remove.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
@@ -134,6 +134,10 @@ config ARCH_ENABLE_MEMORY_HOTPLUG
|
|||||||
def_bool y
|
def_bool y
|
||||||
depends on SPARSEMEM
|
depends on SPARSEMEM
|
||||||
|
|
||||||
|
config ARCH_ENABLE_MEMORY_HOTREMOVE
|
||||||
|
def_bool y
|
||||||
|
depends on SPARSEMEM
|
||||||
|
|
||||||
config ARCH_MEMORY_PROBE
|
config ARCH_MEMORY_PROBE
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on MEMORY_HOTPLUG
|
depends on MEMORY_HOTPLUG
|
||||||
|
@@ -292,4 +292,21 @@ int memory_add_physaddr_to_nid(u64 addr)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
|
EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_MEMORY_HOTREMOVE
|
||||||
|
int remove_memory(u64 start, u64 size)
|
||||||
|
{
|
||||||
|
unsigned long start_pfn = start >> PAGE_SHIFT;
|
||||||
|
unsigned long end_pfn = start_pfn + (size >> PAGE_SHIFT);
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = offline_pages(start_pfn, end_pfn, 120 * HZ);
|
||||||
|
if (unlikely(ret))
|
||||||
|
printk("%s: Failed, offline_pages() == %d\n", __func__, ret);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(remove_memory);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* CONFIG_MEMORY_HOTPLUG */
|
||||||
|
Reference in New Issue
Block a user