From: Greg Kroah-Hartman Date: Thu, 17 May 2018 14:15:33 +0000 (+0200) Subject: drop mm-vmstat-print-non-populated-zones-in-zoneinfo.patch from 4.9 X-Git-Tag: v4.16.10~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8f21575bdf7ea5909e219d47769c5deb9d5d043e;p=thirdparty%2Fkernel%2Fstable-queue.git drop mm-vmstat-print-non-populated-zones-in-zoneinfo.patch from 4.9 --- diff --git a/queue-4.9/mm-vmstat-print-non-populated-zones-in-zoneinfo.patch b/queue-4.9/mm-vmstat-print-non-populated-zones-in-zoneinfo.patch deleted file mode 100644 index 9b1effc20d2..00000000000 --- a/queue-4.9/mm-vmstat-print-non-populated-zones-in-zoneinfo.patch +++ /dev/null @@ -1,143 +0,0 @@ -From b2bd8598195f1b2a72130592125ac6b4218988a2 Mon Sep 17 00:00:00 2001 -From: David Rientjes -Date: Wed, 3 May 2017 14:52:59 -0700 -Subject: mm, vmstat: print non-populated zones in zoneinfo - -From: David Rientjes - -commit b2bd8598195f1b2a72130592125ac6b4218988a2 upstream. - -Initscripts can use the information (protection levels) from -/proc/zoneinfo to configure vm.lowmem_reserve_ratio at boot. - -vm.lowmem_reserve_ratio is an array of ratios for each configured zone -on the system. If a zone is not populated on an arch, /proc/zoneinfo -suppresses its output. - -This results in there not being a 1:1 mapping between the set of zones -emitted by /proc/zoneinfo and the zones configured by -vm.lowmem_reserve_ratio. - -This patch shows statistics for non-populated zones in /proc/zoneinfo. -The zones exist and hold a spot in the vm.lowmem_reserve_ratio array. -Without this patch, it is not possible to determine which index in the -array controls which zone if one or more zones on the system are not -populated. - -Remaining users of walk_zones_in_node() are unchanged. Files such as -/proc/pagetypeinfo require certain zone data to be initialized properly -for display, which is not done for unpopulated zones. - -Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1703031451310.98023@chino.kir.corp.google.com -Signed-off-by: David Rientjes -Reviewed-by: Anshuman Khandual -Cc: Vlastimil Babka -Cc: Mel Gorman -Cc: Johannes Weiner -Cc: Michal Hocko -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -Cc: Jisheng Zhang -Signed-off-by: Greg Kroah-Hartman - ---- - mm/vmstat.c | 27 +++++++++++++++++---------- - 1 file changed, 17 insertions(+), 10 deletions(-) - ---- a/mm/vmstat.c -+++ b/mm/vmstat.c -@@ -1120,8 +1120,12 @@ static void frag_stop(struct seq_file *m - { - } - --/* Walk all the zones in a node and print using a callback */ -+/* -+ * Walk zones in a node and print using a callback. -+ * If @assert_populated is true, only use callback for zones that are populated. -+ */ - static void walk_zones_in_node(struct seq_file *m, pg_data_t *pgdat, -+ bool assert_populated, - void (*print)(struct seq_file *m, pg_data_t *, struct zone *)) - { - struct zone *zone; -@@ -1129,7 +1133,7 @@ static void walk_zones_in_node(struct se - unsigned long flags; - - for (zone = node_zones; zone - node_zones < MAX_NR_ZONES; ++zone) { -- if (!populated_zone(zone)) -+ if (assert_populated && !populated_zone(zone)) - continue; - - spin_lock_irqsave(&zone->lock, flags); -@@ -1157,7 +1161,7 @@ static void frag_show_print(struct seq_f - static int frag_show(struct seq_file *m, void *arg) - { - pg_data_t *pgdat = (pg_data_t *)arg; -- walk_zones_in_node(m, pgdat, frag_show_print); -+ walk_zones_in_node(m, pgdat, true, frag_show_print); - return 0; - } - -@@ -1198,7 +1202,7 @@ static int pagetypeinfo_showfree(struct - seq_printf(m, "%6d ", order); - seq_putc(m, '\n'); - -- walk_zones_in_node(m, pgdat, pagetypeinfo_showfree_print); -+ walk_zones_in_node(m, pgdat, true, pagetypeinfo_showfree_print); - - return 0; - } -@@ -1250,7 +1254,7 @@ static int pagetypeinfo_showblockcount(s - for (mtype = 0; mtype < MIGRATE_TYPES; mtype++) - seq_printf(m, "%12s ", migratetype_names[mtype]); - seq_putc(m, '\n'); -- walk_zones_in_node(m, pgdat, pagetypeinfo_showblockcount_print); -+ walk_zones_in_node(m, pgdat, true, pagetypeinfo_showblockcount_print); - - return 0; - } -@@ -1276,7 +1280,7 @@ static void pagetypeinfo_showmixedcount( - seq_printf(m, "%12s ", migratetype_names[mtype]); - seq_putc(m, '\n'); - -- walk_zones_in_node(m, pgdat, pagetypeinfo_showmixedcount_print); -+ walk_zones_in_node(m, pgdat, true, pagetypeinfo_showmixedcount_print); - #endif /* CONFIG_PAGE_OWNER */ - } - -@@ -1432,12 +1436,15 @@ static void zoneinfo_show_print(struct s - } - - /* -- * Output information about zones in @pgdat. -+ * Output information about zones in @pgdat. All zones are printed regardless -+ * of whether they are populated or not: lowmem_reserve_ratio operates on the -+ * set of all zones and userspace would not be aware of such zones if they are -+ * suppressed here (zoneinfo displays the effect of lowmem_reserve_ratio). - */ - static int zoneinfo_show(struct seq_file *m, void *arg) - { - pg_data_t *pgdat = (pg_data_t *)arg; -- walk_zones_in_node(m, pgdat, zoneinfo_show_print); -+ walk_zones_in_node(m, pgdat, false, zoneinfo_show_print); - return 0; - } - -@@ -1865,7 +1872,7 @@ static int unusable_show(struct seq_file - if (!node_state(pgdat->node_id, N_MEMORY)) - return 0; - -- walk_zones_in_node(m, pgdat, unusable_show_print); -+ walk_zones_in_node(m, pgdat, true, unusable_show_print); - - return 0; - } -@@ -1917,7 +1924,7 @@ static int extfrag_show(struct seq_file - { - pg_data_t *pgdat = (pg_data_t *)arg; - -- walk_zones_in_node(m, pgdat, extfrag_show_print); -+ walk_zones_in_node(m, pgdat, true, extfrag_show_print); - - return 0; - } diff --git a/queue-4.9/series b/queue-4.9/series index 9bfb69c4b32..916c40f71ce 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -23,7 +23,6 @@ bonding-send-learning-packets-for-vlans-on-slave.patch tcp-ignore-fast-open-on-repair-mode.patch sctp-fix-the-issue-that-the-cookie-ack-with-auth-can-t-get-processed.patch sctp-delay-the-authentication-for-the-duplicated-cookie-echo-chunk.patch -mm-vmstat-print-non-populated-zones-in-zoneinfo.patch serial-sccnxp-fix-error-handling-in-sccnxp_probe.patch futex-remove-duplicated-code-and-fix-undefined-behaviour.patch xfrm-fix-xfrm_do_migrate-with-aead-e.g-aes-gcm.patch