forked from skristiansson/linux
-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Centralize the page migration functions in anticipation of additional tinkering. Creates a new file mm/migrate.c 1. Extract buffer_migrate_page() from fs/buffer.c 2. Extract central migration code from vmscan.c 3. Extract some components from mempolicy.c 4. Export pageout() and remove_from_swap() from vmscan.c 5. Make it possible to configure NUMA systems without page migration and non-NUMA systems with page migration. I had to so some #ifdeffing in mempolicy.c that may need a cleanup. Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
- Loading branch information
Christoph Lameter
authored and
Linus Torvalds
committed
Mar 22, 2006
1 parent
442295c
commit b20a350
Showing
10 changed files
with
741 additions
and
660 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
#ifndef _LINUX_MIGRATE_H | ||
#define _LINUX_MIGRATE_H | ||
|
||
#include <linux/config.h> | ||
#include <linux/mm.h> | ||
|
||
#ifdef CONFIG_MIGRATION | ||
extern int isolate_lru_page(struct page *p, struct list_head *pagelist); | ||
extern int putback_lru_pages(struct list_head *l); | ||
extern int migrate_page(struct page *, struct page *); | ||
extern void migrate_page_copy(struct page *, struct page *); | ||
extern int migrate_page_remove_references(struct page *, struct page *, int); | ||
extern int migrate_pages(struct list_head *l, struct list_head *t, | ||
struct list_head *moved, struct list_head *failed); | ||
int migrate_pages_to(struct list_head *pagelist, | ||
struct vm_area_struct *vma, int dest); | ||
extern int fail_migrate_page(struct page *, struct page *); | ||
|
||
extern int migrate_prep(void); | ||
|
||
#else | ||
|
||
static inline int isolate_lru_page(struct page *p, struct list_head *list) | ||
{ return -ENOSYS; } | ||
static inline int putback_lru_pages(struct list_head *l) { return 0; } | ||
static inline int migrate_pages(struct list_head *l, struct list_head *t, | ||
struct list_head *moved, struct list_head *failed) { return -ENOSYS; } | ||
|
||
static inline int migrate_prep(void) { return -ENOSYS; } | ||
|
||
/* Possible settings for the migrate_page() method in address_operations */ | ||
#define migrate_page NULL | ||
#define fail_migrate_page NULL | ||
|
||
#endif /* CONFIG_MIGRATION */ | ||
#endif /* _LINUX_MIGRATE_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.