|
@@ -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,
|
|
|
unsigned long flags);
|
|
|
|
|
@@ -2539,9 +2538,8 @@ struct numa_maps {
|
|
|
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);
|
|
|
|
|
|
md->pages++;
|
|
@@ -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,
|
|
|
unsigned long addr, unsigned long end, struct mm_walk *walk)
|
|
|
{
|
|
|
+ struct numa_maps *md;
|
|
|
struct page *page;
|
|
|
|
|
|
if (pte_none(*pte))
|
|
@@ -2643,7 +2642,8 @@ static int gather_hugetbl_stats(pte_t *pte, unsigned long hmask,
|
|
|
if (!page)
|
|
|
return 0;
|
|
|
|
|
|
- gather_stats(page, walk->private, pte_dirty(*pte));
|
|
|
+ md = walk->private;
|
|
|
+ gather_stats(page, md, pte_dirty(*pte));
|
|
|
return 0;
|
|
|
}
|
|
|
|