]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.11-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Nov 2013 05:59:19 +0000 (21:59 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Nov 2013 05:59:19 +0000 (21:59 -0800)
added patches:
mm-proc-pid-pagemap-inspect-_page_soft_dirty-only-on-present-pages.patch

queue-3.11/mm-proc-pid-pagemap-inspect-_page_soft_dirty-only-on-present-pages.patch [new file with mode: 0644]
queue-3.11/series

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 (file)
index 0000000..a538d90
--- /dev/null
@@ -0,0 +1,54 @@
+From e9cdd6e771580e6ff872e5c64e8b766972c7d1bc Mon Sep 17 00:00:00 2001
+From: Cyrill Gorcunov <gorcunov@gmail.com>
+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 <gorcunov@gmail.com>
+
+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 <gorcunov@openvz.org>
+Cc: Pavel Emelyanov <xemul@parallels.com>
+Cc: Andy Lutomirski <luto@amacapital.net>
+Cc: Matt Mackall <mpm@selenic.com>
+Cc: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
+Cc: Marcelo Tosatti <mtosatti@redhat.com>
+Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Cc: Stephen Rothwell <sfr@canb.auug.org.au>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
+Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
+Cc: Mel Gorman <mel@csn.ul.ie>
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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);
+ }
index 56847d048a2c15abe138cf87b2e51548ede6490d..a85b5a5bae61ddb38a21bb8887ef073bfec954e3 100644 (file)
@@ -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