]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 May 2021 09:22:53 +0000 (11:22 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 May 2021 09:22:53 +0000 (11:22 +0200)
added patches:
mm-vmstat-drop-zone-lock-in-proc-pagetypeinfo.patch

queue-4.4/mm-vmstat-drop-zone-lock-in-proc-pagetypeinfo.patch [new file with mode: 0644]
queue-4.4/series [new file with mode: 0644]

diff --git a/queue-4.4/mm-vmstat-drop-zone-lock-in-proc-pagetypeinfo.patch b/queue-4.4/mm-vmstat-drop-zone-lock-in-proc-pagetypeinfo.patch
new file mode 100644 (file)
index 0000000..b968683
--- /dev/null
@@ -0,0 +1,49 @@
+From foo@baz Thu May 27 11:14:38 AM CEST 2021
+From: Stephen Brennan <stephen.s.brennan@oracle.com>
+Date: Wed, 26 May 2021 10:46:13 -0700
+Subject: mm, vmstat: drop zone->lock in /proc/pagetypeinfo
+To: stable@vger.kernel.org
+Cc: Stephen Brennan <stephen.s.brennan@oracle.com>, Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Christoph Lameter <clameter@sgi.com>, Mel Gorman <mel@csn.ul.ie>, Andy Whitcroft <apw@shadowen.org>, Aruna Ramakrishna <aruna.ramakrishna@oracle.com>, Khalid Aziz <khalid.aziz@oracle.com>
+Message-ID: <20210526174613.339990-1-stephen.s.brennan@oracle.com>
+
+From: Stephen Brennan <stephen.s.brennan@oracle.com>
+
+Commit 93b3a674485f6a4b8ffff85d1682d5e8b7c51560 upstream
+
+Commit 93b3a674485f ("mm,vmstat: reduce zone->lock holding time by
+/proc/pagetypeinfo") upstream caps the number of iterations over each
+free_list at 100,000, and also drops the zone->lock in between each
+migrate type. Capping the iteration count alters the file contents in
+some cases, which means this approach may not be suitable for stable
+backports.
+
+However, dropping zone->lock in between migrate types (and, as a result,
+page orders) will not change the /proc/pagetypeinfo file contents. It
+can significantly reduce the length of time spent with IRQs disabled,
+which can prevent missed interrupts or soft lockups which we have
+observed on systems with particularly large memory.
+
+Thus, this commit is a modified version of the upstream one which only
+drops the lock in between migrate types.
+
+Fixes: 467c996c1e19 ("Print out statistics in relation to fragmentation avoidance to /proc/pagetypeinfo")
+Signed-off-by: Stephen Brennan <stephen.s.brennan@oracle.com>
+Reviewed-by: Aruna Ramakrishna <aruna.ramakrishna@oracle.com>
+Reviewed-by: Khalid Aziz <khalid.aziz@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ mm/vmstat.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/mm/vmstat.c
++++ b/mm/vmstat.c
+@@ -973,6 +973,9 @@ static void pagetypeinfo_showfree_print(
+                       list_for_each(curr, &area->free_list[mtype])
+                               freecount++;
+                       seq_printf(m, "%6lu ", freecount);
++                      spin_unlock_irq(&zone->lock);
++                      cond_resched();
++                      spin_lock_irq(&zone->lock);
+               }
+               seq_putc(m, '\n');
+       }
diff --git a/queue-4.4/series b/queue-4.4/series
new file mode 100644 (file)
index 0000000..45fd229
--- /dev/null
@@ -0,0 +1 @@
+mm-vmstat-drop-zone-lock-in-proc-pagetypeinfo.patch