diff options
author | Mark Brown <broonie@linaro.org> | 2013-12-08 21:51:36 +0000 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-12-08 21:51:36 +0000 |
commit | 3ba8f67bac8f610b5148b93280387d3dccf7d0dd (patch) | |
tree | 6a17c20128c75787aad74ca2e98c128bd4ed8e55 /mm/mprotect.c | |
parent | a8eb5f1e4b10d8b7992ed0e6c0915687339201c3 (diff) | |
parent | 925b33756551cb5304774d2e2b39e26e82308a68 (diff) |
Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
Diffstat (limited to 'mm/mprotect.c')
-rw-r--r-- | mm/mprotect.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mm/mprotect.c b/mm/mprotect.c index 5d80adfabec8..ea4a0f32f8e1 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -135,6 +135,7 @@ static inline unsigned long change_pmd_range(struct vm_area_struct *vma, pmd_t *pmd; unsigned long next; unsigned long pages = 0; + unsigned long nr_huge_updates = 0; bool all_same_node; pmd = pmd_offset(pud, addr); @@ -145,7 +146,8 @@ static inline unsigned long change_pmd_range(struct vm_area_struct *vma, split_huge_page_pmd(vma, addr, pmd); else if (change_huge_pmd(vma, pmd, addr, newprot, prot_numa)) { - pages++; + pages += HPAGE_PMD_NR; + nr_huge_updates++; continue; } /* fall through */ @@ -165,6 +167,9 @@ static inline unsigned long change_pmd_range(struct vm_area_struct *vma, change_pmd_protnuma(vma->vm_mm, addr, pmd); } while (pmd++, addr = next, addr != end); + if (nr_huge_updates) + count_vm_numa_events(NUMA_HUGE_PTE_UPDATES, nr_huge_updates); + return pages; } |