please check the migrate)pages_to in migrate.h...
otherwise I can not compile the kernel if i disable the swap in config.
YH
diff --git a/include/linux/migrate.h b/include/linux/migrate.h
--- a/include/linux/migrate.h
+++ b/include/linux/migrate.h
@@ -12,7 +12,7 @@ extern void migrate_page_copy(struct pag
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,
+extern int migrate_pages_to(struct list_head *pagelist,
struct vm_area_struct *vma, int dest);
extern int fail_migrate_page(struct page *, struct page *);
@@ -26,6 +26,8 @@ static inline int putback_lru_pages(stru
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_pages_to(struct list_head *pagelist,
+ struct vm_area_struct *vma, int dest) {
return -ENOSYS; }
static inline int migrate_prep(void) { return -ENOSYS; }
/* Possible settings for the migrate_page() method in address_operations */
diff --git a/mm/migrate.c b/mm/migrate.c
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -653,3 +653,4 @@ out:
nr_pages++;
return nr_pages;
}
+EXPORT_SYMBOL(migrate_pages_to);
On Mon, 27 Mar 2006, Yinghai Lu wrote:
> please check the migrate)pages_to in migrate.h...
> otherwise I can not compile the kernel if i disable the swap in config.
Right. migrate_pages_to in mempolicy.cis also called from mbind() outside
of CONFIG_MIGRATION sigh.
> +static inline int migrate_pages_to(struct list_head *pagelist,
> + struct vm_area_struct *vma, int dest) {
> return -ENOSYS; }
No it needs to return the number of pages not ENOSYS.
> diff --git a/mm/migrate.c b/mm/migrate.c
> --- a/mm/migrate.c
> +++ b/mm/migrate.c
> @@ -653,3 +653,4 @@ out:
> nr_pages++;
> return nr_pages;
> }
> +EXPORT_SYMBOL(migrate_pages_to);
Why add an export?
Could you try this patch?
Fix migrate_pages_to() definition.
Signed-off-by: Christoph Lameter <[email protected]>
Index: linux-2.6/include/linux/migrate.h
===================================================================
--- linux-2.6.orig/include/linux/migrate.h 2006-03-22 09:29:49.000000000 -0800
+++ linux-2.6/include/linux/migrate.h 2006-03-27 18:33:52.000000000 -0800
@@ -12,7 +12,7 @@ extern void migrate_page_copy(struct pag
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,
+extern int migrate_pages_to(struct list_head *pagelist,
struct vm_area_struct *vma, int dest);
extern int fail_migrate_page(struct page *, struct page *);
@@ -26,6 +26,9 @@ static inline int putback_lru_pages(stru
static inline int migrate_pages(struct list_head *l, struct list_head *t,
struct list_head *moved, struct list_head *failed) { return -ENOSYS; }
+static int migrate_pages_to(struct list_head *pagelist,
+ struct vm_area_struct *vma, int dest) { return 0; }
+
static inline int migrate_prep(void) { return -ENOSYS; }
/* Possible settings for the migrate_page() method in address_operations */