Re: [PATCH] Revert "mm/vmstat.c: do not show lowmem reserve protection information of empty zone"

From: David Hildenbrand
Date: Tue Aug 11 2020 - 04:34:26 EST


On 11.08.20 09:54, Baoquan He wrote:
> This reverts commit 26e7deadaae1755faf1f6d1a68988c4b8348df59.
>
> Sonny reported that one of their tests started failing on the latest
> kernel on their Chrome OS platform. The root cause is that the above
> commit removed the protection line of empty zone, while the parser used
> in the test relies on the protection line to mark the end of each zone.
>
> Let's revert it to avoid breaking userspace testing or applications.
>
> Cc: <stable@xxxxxxxxxxxxxxx> # 5.8.x
> Reported-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx>
> Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>
> ---
> mm/vmstat.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index 5b35c0eb8c57..62376dc66ec0 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -1644,12 +1644,6 @@ static void zoneinfo_show_print(struct seq_file *m, pg_data_t *pgdat,
> zone->present_pages,
> zone_managed_pages(zone));
>
> - /* If unpopulated, no other information is useful */
> - if (!populated_zone(zone)) {
> - seq_putc(m, '\n');
> - return;
> - }
> -
> seq_printf(m,
> "\n protection: (%ld",
> zone->lowmem_reserve[0]);
> @@ -1657,6 +1651,12 @@ static void zoneinfo_show_print(struct seq_file *m, pg_data_t *pgdat,
> seq_printf(m, ", %ld", zone->lowmem_reserve[i]);
> seq_putc(m, ')');
>
> + /* If unpopulated, no other information is useful */
> + if (!populated_zone(zone)) {
> + seq_putc(m, '\n');
> + return;
> + }
> +
> for (i = 0; i < NR_VM_ZONE_STAT_ITEMS; i++)
> seq_printf(m, "\n %-12s %lu", zone_stat_name(i),
> zone_page_state(zone, i));
>

Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>

--
Thanks,

David / dhildenb