Re: migrate_pages_to not defined ...

From: Christoph Lameter
Date: Mon Mar 27 2006 - 21:59:35 EST


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 <clameter@xxxxxxx>

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 */

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/