Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f0f2496 authored by Mel Gorman's avatar Mel Gorman Committed by Linus Torvalds
Browse files

mm: migration: cleanup migrate_pages API by matching types for offlining and sync



With the introduction of the boolean sync parameter, the API looks a
little inconsistent as offlining is still an int.  Convert offlining to a
bool for the sake of being tidy.

Signed-off-by: default avatarMel Gorman <mel@csn.ul.ie>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Rik van Riel <riel@redhat.com>
Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
Cc: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 77f1fe6b
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -13,10 +13,10 @@ extern void putback_lru_pages(struct list_head *l);
extern int migrate_page(struct address_space *,
			struct page *, struct page *);
extern int migrate_pages(struct list_head *l, new_page_t x,
			unsigned long private, int offlining,
			unsigned long private, bool offlining,
			bool sync);
extern int migrate_huge_pages(struct list_head *l, new_page_t x,
			unsigned long private, int offlining,
			unsigned long private, bool offlining,
			bool sync);

extern int fail_migrate_page(struct address_space *,
@@ -35,10 +35,10 @@ extern int migrate_huge_page_move_mapping(struct address_space *mapping,

static inline void putback_lru_pages(struct list_head *l) {}
static inline int migrate_pages(struct list_head *l, new_page_t x,
		unsigned long private, int offlining,
		unsigned long private, bool offlining,
		bool sync) { return -ENOSYS; }
static inline int migrate_huge_pages(struct list_head *l, new_page_t x,
		unsigned long private, int offlining,
		unsigned long private, bool offlining,
		bool sync) { return -ENOSYS; }

static inline int migrate_prep(void) { return -ENOSYS; }
+1 −1
Original line number Diff line number Diff line
@@ -456,7 +456,7 @@ static int compact_zone(struct zone *zone, struct compact_control *cc)

		nr_migrate = cc->nr_migratepages;
		migrate_pages(&cc->migratepages, compaction_alloc,
				(unsigned long)cc, 0,
				(unsigned long)cc, false,
				cc->sync);
		update_nr_listpages(cc);
		nr_remaining = cc->nr_migratepages;
+1 −1
Original line number Diff line number Diff line
@@ -734,7 +734,7 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
		}
		/* this function returns # of failed pages */
		ret = migrate_pages(&source, hotremove_migrate_alloc, 0,
								1, true);
								true, true);
		if (ret)
			putback_lru_pages(&source);
	}
+4 −2
Original line number Diff line number Diff line
@@ -935,7 +935,8 @@ static int migrate_to_node(struct mm_struct *mm, int source, int dest,
		return PTR_ERR(vma);

	if (!list_empty(&pagelist)) {
		err = migrate_pages(&pagelist, new_node_page, dest, 0, true);
		err = migrate_pages(&pagelist, new_node_page, dest,
								false, true);
		if (err)
			putback_lru_pages(&pagelist);
	}
@@ -1155,7 +1156,8 @@ static long do_mbind(unsigned long start, unsigned long len,

		if (!list_empty(&pagelist)) {
			nr_failed = migrate_pages(&pagelist, new_vma_page,
						(unsigned long)vma, 0, true);
						(unsigned long)vma,
						false, true);
			if (nr_failed)
				putback_lru_pages(&pagelist);
		}
+4 −4
Original line number Diff line number Diff line
@@ -614,7 +614,7 @@ static int move_to_new_page(struct page *newpage, struct page *page,
 * to the newly allocated page in newpage.
 */
static int unmap_and_move(new_page_t get_new_page, unsigned long private,
			struct page *page, int force, int offlining, bool sync)
			struct page *page, int force, bool offlining, bool sync)
{
	int rc = 0;
	int *result = NULL;
@@ -827,7 +827,7 @@ move_newpage:
 */
static int unmap_and_move_huge_page(new_page_t get_new_page,
				unsigned long private, struct page *hpage,
				int force, int offlining, bool sync)
				int force, bool offlining, bool sync)
{
	int rc = 0;
	int *result = NULL;
@@ -909,7 +909,7 @@ out:
 * Return: Number of pages not migrated or error code.
 */
int migrate_pages(struct list_head *from,
		new_page_t get_new_page, unsigned long private, int offlining,
		new_page_t get_new_page, unsigned long private, bool offlining,
		bool sync)
{
	int retry = 1;
@@ -960,7 +960,7 @@ out:
}

int migrate_huge_pages(struct list_head *from,
		new_page_t get_new_page, unsigned long private, int offlining,
		new_page_t get_new_page, unsigned long private, bool offlining,
		bool sync)
{
	int retry = 1;