memory unplug: memory hotplug cleanup

A clean up patch for "scanning memory resource [start, end)" operation.

Now, find_next_system_ram() function is used in memory hotplug, but this
interface is not easy to use and codes are complicated.

This patch adds walk_memory_resouce(start,len,arg,func) function.
The function 'func' is called per valid memory resouce range in [start,pfn).

[pbadari@us.ibm.com: Error handling in walk_memory_resource()]
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
KAMEZAWA Hiroyuki
2007-10-16 01:26:10 -07:00
committed by Linus Torvalds
parent 48f13bf3e7
commit 75884fb1c6
4 changed files with 52 additions and 30 deletions

View File

@@ -63,6 +63,14 @@ extern int online_pages(unsigned long, unsigned long);
extern int __add_pages(struct zone *zone, unsigned long start_pfn,
unsigned long nr_pages);
/*
* Walk thorugh all memory which is registered as resource.
* arg is (start_pfn, nr_pages, private_arg_pointer)
*/
extern int walk_memory_resource(unsigned long start_pfn,
unsigned long nr_pages, void *arg,
int (*func)(unsigned long, unsigned long, void *));
#ifdef CONFIG_NUMA
extern int memory_add_physaddr_to_nid(u64 start);
#else