Commit 722e2ee0 authored by Stephen Wilson's avatar Stephen Wilson Committed by Linus Torvalds

mm: make gather_stats() type-safe and remove forward declaration

Improve the prototype of gather_stats() to take a struct numa_maps as
argument instead of a generic void *.  Update all callers to make the
required type explicit.

Since gather_stats() is not needed before its definition and is scheduled
to be moved out of mempolicy.c the declaration is removed as well.
Signed-off-by: default avatarStephen Wilson <wilsons@start.ca>
Reviewed-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b1f72d18
...@@ -456,7 +456,6 @@ static const struct mempolicy_operations mpol_ops[MPOL_MAX] = { ...@@ -456,7 +456,6 @@ static const struct mempolicy_operations mpol_ops[MPOL_MAX] = {
}, },
}; };
static void gather_stats(struct page *, void *, int pte_dirty);
static void migrate_page_add(struct page *page, struct list_head *pagelist, static void migrate_page_add(struct page *page, struct list_head *pagelist,
unsigned long flags); unsigned long flags);
...@@ -2539,9 +2538,8 @@ struct numa_maps { ...@@ -2539,9 +2538,8 @@ struct numa_maps {
unsigned long node[MAX_NUMNODES]; unsigned long node[MAX_NUMNODES];
}; };
static void gather_stats(struct page *page, void *private, int pte_dirty) static void gather_stats(struct page *page, struct numa_maps *md, int pte_dirty)
{ {
struct numa_maps *md = private;
int count = page_mapcount(page); int count = page_mapcount(page);
md->pages++; md->pages++;
...@@ -2634,6 +2632,7 @@ static void check_huge_range(struct vm_area_struct *vma, ...@@ -2634,6 +2632,7 @@ static void check_huge_range(struct vm_area_struct *vma,
static int gather_hugetbl_stats(pte_t *pte, unsigned long hmask, static int gather_hugetbl_stats(pte_t *pte, unsigned long hmask,
unsigned long addr, unsigned long end, struct mm_walk *walk) unsigned long addr, unsigned long end, struct mm_walk *walk)
{ {
struct numa_maps *md;
struct page *page; struct page *page;
if (pte_none(*pte)) if (pte_none(*pte))
...@@ -2643,7 +2642,8 @@ static int gather_hugetbl_stats(pte_t *pte, unsigned long hmask, ...@@ -2643,7 +2642,8 @@ static int gather_hugetbl_stats(pte_t *pte, unsigned long hmask,
if (!page) if (!page)
return 0; return 0;
gather_stats(page, walk->private, pte_dirty(*pte)); md = walk->private;
gather_stats(page, md, pte_dirty(*pte));
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment