From: Greg Kroah-Hartman Date: Sat, 9 Nov 2013 05:59:19 +0000 (-0800) Subject: 3.11-stable patches X-Git-Tag: v3.4.69~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7fe72c8d1b822ae159cb59a72008117833ad5ef8;p=thirdparty%2Fkernel%2Fstable-queue.git 3.11-stable patches added patches: mm-proc-pid-pagemap-inspect-_page_soft_dirty-only-on-present-pages.patch --- diff --git a/queue-3.11/mm-proc-pid-pagemap-inspect-_page_soft_dirty-only-on-present-pages.patch b/queue-3.11/mm-proc-pid-pagemap-inspect-_page_soft_dirty-only-on-present-pages.patch new file mode 100644 index 00000000000..a538d9069a6 --- /dev/null +++ b/queue-3.11/mm-proc-pid-pagemap-inspect-_page_soft_dirty-only-on-present-pages.patch @@ -0,0 +1,54 @@ +From e9cdd6e771580e6ff872e5c64e8b766972c7d1bc Mon Sep 17 00:00:00 2001 +From: Cyrill Gorcunov +Date: Wed, 16 Oct 2013 13:46:53 -0700 +Subject: mm: /proc/pid/pagemap: inspect _PAGE_SOFT_DIRTY only on present pages + +From: Cyrill Gorcunov + +commit e9cdd6e771580e6ff872e5c64e8b766972c7d1bc upstream. + +If a page we are inspecting is in swap we may occasionally report it as +having soft dirty bit (even if it is clean). The pte_soft_dirty helper +should be called on present pte only. + +Signed-off-by: Cyrill Gorcunov +Cc: Pavel Emelyanov +Cc: Andy Lutomirski +Cc: Matt Mackall +Cc: Xiao Guangrong +Cc: Marcelo Tosatti +Cc: KOSAKI Motohiro +Cc: Stephen Rothwell +Cc: Peter Zijlstra +Cc: "Aneesh Kumar K.V" +Reviewed-by: Naoya Horiguchi +Cc: Mel Gorman +Cc: +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + fs/proc/task_mmu.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/fs/proc/task_mmu.c ++++ b/fs/proc/task_mmu.c +@@ -938,6 +938,8 @@ static void pte_to_pagemap_entry(pagemap + frame = pte_pfn(pte); + flags = PM_PRESENT; + page = vm_normal_page(vma, addr, pte); ++ if (pte_soft_dirty(pte)) ++ flags2 |= __PM_SOFT_DIRTY; + } else if (is_swap_pte(pte)) { + swp_entry_t entry; + if (pte_swp_soft_dirty(pte)) +@@ -955,8 +957,6 @@ static void pte_to_pagemap_entry(pagemap + + if (page && !PageAnon(page)) + flags |= PM_FILE; +- if (pte_soft_dirty(pte)) +- flags2 |= __PM_SOFT_DIRTY; + + *pme = make_pme(PM_PFRAME(frame) | PM_STATUS2(pm->v2, flags2) | flags); + } diff --git a/queue-3.11/series b/queue-3.11/series index 56847d048a2..a85b5a5bae6 100644 --- a/queue-3.11/series +++ b/queue-3.11/series @@ -72,3 +72,4 @@ mm-prevent-parallel-splits-during-thp-migration.patch mm-numa-sanitize-task_numa_fault-callsites.patch mm-close-races-between-thp-migration-and-pmd-numa-clearing.patch mm-account-for-a-thp-numa-hinting-update-as-one-pte-update.patch +mm-proc-pid-pagemap-inspect-_page_soft_dirty-only-on-present-pages.patch