diff options
author | Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> | 2013-09-11 17:22:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-11 18:57:47 -0400 |
commit | b8ec1cee5a4375c1244b85709138a2eac2d89cb6 (patch) | |
tree | c3c548949ac53e1a66d891171d4b176f1d11538d /include | |
parent | 31caf665e666b51fe36efd1e54031ed29e86c0b4 (diff) |
mm: soft-offline: use migrate_pages() instead of migrate_huge_page()
Currently migrate_huge_page() takes a pointer to a hugepage to be migrated
as an argument, instead of taking a pointer to the list of hugepages to be
migrated. This behavior was introduced in commit 189ebff28 ("hugetlb:
simplify migrate_huge_page()"), and was OK because until now hugepage
migration is enabled only for soft-offlining which migrates only one
hugepage in a single call.
But the situation will change in the later patches in this series which
enable other users of page migration to support hugepage migration. They
can kick migration for both of normal pages and hugepages in a single
call, so we need to go back to original implementation which uses linked
lists to collect the hugepages to be migrated.
With this patch, soft_offline_huge_page() switches to use migrate_pages(),
and migrate_huge_page() is not used any more. So let's remove it.
Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Acked-by: Andi Kleen <ak@linux.intel.com>
Reviewed-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Acked-by: Hillf Danton <dhillf@gmail.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Hugh Dickins <hughd@google.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Rik van Riel <riel@redhat.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/migrate.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/include/linux/migrate.h b/include/linux/migrate.h index a405d3dc0f61..6fe521420631 100644 --- a/include/linux/migrate.h +++ b/include/linux/migrate.h | |||
@@ -41,8 +41,6 @@ extern int migrate_page(struct address_space *, | |||
41 | struct page *, struct page *, enum migrate_mode); | 41 | struct page *, struct page *, enum migrate_mode); |
42 | extern int migrate_pages(struct list_head *l, new_page_t x, | 42 | extern int migrate_pages(struct list_head *l, new_page_t x, |
43 | unsigned long private, enum migrate_mode mode, int reason); | 43 | unsigned long private, enum migrate_mode mode, int reason); |
44 | extern int migrate_huge_page(struct page *, new_page_t x, | ||
45 | unsigned long private, enum migrate_mode mode); | ||
46 | 44 | ||
47 | extern int fail_migrate_page(struct address_space *, | 45 | extern int fail_migrate_page(struct address_space *, |
48 | struct page *, struct page *); | 46 | struct page *, struct page *); |
@@ -62,9 +60,6 @@ static inline void putback_movable_pages(struct list_head *l) {} | |||
62 | static inline int migrate_pages(struct list_head *l, new_page_t x, | 60 | static inline int migrate_pages(struct list_head *l, new_page_t x, |
63 | unsigned long private, enum migrate_mode mode, int reason) | 61 | unsigned long private, enum migrate_mode mode, int reason) |
64 | { return -ENOSYS; } | 62 | { return -ENOSYS; } |
65 | static inline int migrate_huge_page(struct page *page, new_page_t x, | ||
66 | unsigned long private, enum migrate_mode mode) | ||
67 | { return -ENOSYS; } | ||
68 | 63 | ||
69 | static inline int migrate_prep(void) { return -ENOSYS; } | 64 | static inline int migrate_prep(void) { return -ENOSYS; } |
70 | static inline int migrate_prep_local(void) { return -ENOSYS; } | 65 | static inline int migrate_prep_local(void) { return -ENOSYS; } |