Re: [PATCH] mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo

2018-12-06 Thread Greg KH
On Thu, Nov 29, 2018 at 03:54:10PM +0100, Vlastimil Babka wrote:
> On 11/29/18 1:52 PM, Greg KH wrote:
> > On Tue, Oct 30, 2018 at 05:48:25PM +, Roman Gushchin wrote:
> >> BTW, in 4.19+ the counter has been renamed and exported by
> >> the commit b29940c1abd7 ("mm: rename and change semantics of
> >> nr_indirectly_reclaimable_bytes"), so there is no such a problem
> >> anymore.
> >>
> >> Cc:  # 4.14.x-4.18.x
> >> Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in 
> >> /proc/vmstat")
> 
> ...
> 
> > I do not see this patch in Linus's tree, do you?
> > 
> > If not, what am I supposed to do with this?
> 
> Yeah it wasn't probably clear enough, but this is stable-only patch, as
> upstream avoided the (then-unknown) problem in 4.19 as part of a far
> more intrusive series. As I've said in my previous reply to this thread,
> I don't think we can backport that series to stable (e.g. it introduces
> a set of new kmalloc caches that will suddenly appear in /proc/slabinfo)
> so I think this is a case for exception from the stable rules.

Ok, now queued up, thanks.

greg k-h


Re: [PATCH] mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo

2018-12-06 Thread Greg KH
On Thu, Nov 29, 2018 at 03:54:10PM +0100, Vlastimil Babka wrote:
> On 11/29/18 1:52 PM, Greg KH wrote:
> > On Tue, Oct 30, 2018 at 05:48:25PM +, Roman Gushchin wrote:
> >> BTW, in 4.19+ the counter has been renamed and exported by
> >> the commit b29940c1abd7 ("mm: rename and change semantics of
> >> nr_indirectly_reclaimable_bytes"), so there is no such a problem
> >> anymore.
> >>
> >> Cc:  # 4.14.x-4.18.x
> >> Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in 
> >> /proc/vmstat")
> 
> ...
> 
> > I do not see this patch in Linus's tree, do you?
> > 
> > If not, what am I supposed to do with this?
> 
> Yeah it wasn't probably clear enough, but this is stable-only patch, as
> upstream avoided the (then-unknown) problem in 4.19 as part of a far
> more intrusive series. As I've said in my previous reply to this thread,
> I don't think we can backport that series to stable (e.g. it introduces
> a set of new kmalloc caches that will suddenly appear in /proc/slabinfo)
> so I think this is a case for exception from the stable rules.

Ok, now queued up, thanks.

greg k-h


Re: [PATCH] mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo

2018-11-29 Thread Vlastimil Babka
On 11/29/18 1:52 PM, Greg KH wrote:
> On Tue, Oct 30, 2018 at 05:48:25PM +, Roman Gushchin wrote:
>> BTW, in 4.19+ the counter has been renamed and exported by
>> the commit b29940c1abd7 ("mm: rename and change semantics of
>> nr_indirectly_reclaimable_bytes"), so there is no such a problem
>> anymore.
>>
>> Cc:  # 4.14.x-4.18.x
>> Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in 
>> /proc/vmstat")

...

> I do not see this patch in Linus's tree, do you?
> 
> If not, what am I supposed to do with this?

Yeah it wasn't probably clear enough, but this is stable-only patch, as
upstream avoided the (then-unknown) problem in 4.19 as part of a far
more intrusive series. As I've said in my previous reply to this thread,
I don't think we can backport that series to stable (e.g. it introduces
a set of new kmalloc caches that will suddenly appear in /proc/slabinfo)
so I think this is a case for exception from the stable rules.

Vlastimil

> confused,
> 
> greg k-h
> 



Re: [PATCH] mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo

2018-11-29 Thread Vlastimil Babka
On 11/29/18 1:52 PM, Greg KH wrote:
> On Tue, Oct 30, 2018 at 05:48:25PM +, Roman Gushchin wrote:
>> BTW, in 4.19+ the counter has been renamed and exported by
>> the commit b29940c1abd7 ("mm: rename and change semantics of
>> nr_indirectly_reclaimable_bytes"), so there is no such a problem
>> anymore.
>>
>> Cc:  # 4.14.x-4.18.x
>> Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in 
>> /proc/vmstat")

...

> I do not see this patch in Linus's tree, do you?
> 
> If not, what am I supposed to do with this?

Yeah it wasn't probably clear enough, but this is stable-only patch, as
upstream avoided the (then-unknown) problem in 4.19 as part of a far
more intrusive series. As I've said in my previous reply to this thread,
I don't think we can backport that series to stable (e.g. it introduces
a set of new kmalloc caches that will suddenly appear in /proc/slabinfo)
so I think this is a case for exception from the stable rules.

Vlastimil

> confused,
> 
> greg k-h
> 



Re: [PATCH] mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo

2018-11-29 Thread Greg KH
On Tue, Oct 30, 2018 at 05:48:25PM +, Roman Gushchin wrote:
> Yongqin reported that /proc/zoneinfo format is broken in 4.14
> due to commit 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable
> in /proc/vmstat")
> 
> Node 0, zone  DMA
>   per-node stats
>   nr_inactive_anon 403
>   nr_active_anon 89123
>   nr_inactive_file 128887
>   nr_active_file 47377
>   nr_unevictable 2053
>   nr_slab_reclaimable 7510
>   nr_slab_unreclaimable 10775
>   nr_isolated_anon 0
>   nr_isolated_file 0
>   <...>
>   nr_vmscan_write 0
>   nr_vmscan_immediate_reclaim 0
>   nr_dirtied   6022
>   nr_written   5985
>74240
>   ^^
>   pages free 131656
> 
> The problem is caused by the nr_indirectly_reclaimable counter,
> which is hidden from the /proc/vmstat, but not from the
> /proc/zoneinfo. Let's fix this inconsistency and hide the
> counter from /proc/zoneinfo exactly as from /proc/vmstat.
> 
> BTW, in 4.19+ the counter has been renamed and exported by
> the commit b29940c1abd7 ("mm: rename and change semantics of
> nr_indirectly_reclaimable_bytes"), so there is no such a problem
> anymore.
> 
> Cc:  # 4.14.x-4.18.x
> Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in 
> /proc/vmstat")
> Reported-by: Yongqin Liu 
> Signed-off-by: Roman Gushchin 
> Cc: Vlastimil Babka 
> Cc: Andrew Morton 
> ---
>  mm/vmstat.c | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index 527ae727d547..6389e876c7a7 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -1500,6 +1500,10 @@ static void zoneinfo_show_print(struct seq_file *m, 
> pg_data_t *pgdat,
>   if (is_zone_first_populated(pgdat, zone)) {
>   seq_printf(m, "\n  per-node stats");
>   for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++) {
> + /* Skip hidden vmstat items. */
> + if (*vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
> +  NR_VM_NUMA_STAT_ITEMS] == '\0')
> + continue;
>   seq_printf(m, "\n  %-12s %lu",
>   vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
>   NR_VM_NUMA_STAT_ITEMS],
> -- 
> 2.17.2
> 

I do not see this patch in Linus's tree, do you?

If not, what am I supposed to do with this?

confused,

greg k-h


Re: [PATCH] mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo

2018-11-29 Thread Greg KH
On Tue, Oct 30, 2018 at 05:48:25PM +, Roman Gushchin wrote:
> Yongqin reported that /proc/zoneinfo format is broken in 4.14
> due to commit 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable
> in /proc/vmstat")
> 
> Node 0, zone  DMA
>   per-node stats
>   nr_inactive_anon 403
>   nr_active_anon 89123
>   nr_inactive_file 128887
>   nr_active_file 47377
>   nr_unevictable 2053
>   nr_slab_reclaimable 7510
>   nr_slab_unreclaimable 10775
>   nr_isolated_anon 0
>   nr_isolated_file 0
>   <...>
>   nr_vmscan_write 0
>   nr_vmscan_immediate_reclaim 0
>   nr_dirtied   6022
>   nr_written   5985
>74240
>   ^^
>   pages free 131656
> 
> The problem is caused by the nr_indirectly_reclaimable counter,
> which is hidden from the /proc/vmstat, but not from the
> /proc/zoneinfo. Let's fix this inconsistency and hide the
> counter from /proc/zoneinfo exactly as from /proc/vmstat.
> 
> BTW, in 4.19+ the counter has been renamed and exported by
> the commit b29940c1abd7 ("mm: rename and change semantics of
> nr_indirectly_reclaimable_bytes"), so there is no such a problem
> anymore.
> 
> Cc:  # 4.14.x-4.18.x
> Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in 
> /proc/vmstat")
> Reported-by: Yongqin Liu 
> Signed-off-by: Roman Gushchin 
> Cc: Vlastimil Babka 
> Cc: Andrew Morton 
> ---
>  mm/vmstat.c | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index 527ae727d547..6389e876c7a7 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -1500,6 +1500,10 @@ static void zoneinfo_show_print(struct seq_file *m, 
> pg_data_t *pgdat,
>   if (is_zone_first_populated(pgdat, zone)) {
>   seq_printf(m, "\n  per-node stats");
>   for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++) {
> + /* Skip hidden vmstat items. */
> + if (*vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
> +  NR_VM_NUMA_STAT_ITEMS] == '\0')
> + continue;
>   seq_printf(m, "\n  %-12s %lu",
>   vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
>   NR_VM_NUMA_STAT_ITEMS],
> -- 
> 2.17.2
> 

I do not see this patch in Linus's tree, do you?

If not, what am I supposed to do with this?

confused,

greg k-h


Re: [PATCH] mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo

2018-10-31 Thread Vlastimil Babka
On 10/30/18 6:48 PM, Roman Gushchin wrote:
> Yongqin reported that /proc/zoneinfo format is broken in 4.14
> due to commit 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable
> in /proc/vmstat")
> 
> Node 0, zone  DMA
>   per-node stats
>   nr_inactive_anon 403
>   nr_active_anon 89123
>   nr_inactive_file 128887
>   nr_active_file 47377
>   nr_unevictable 2053
>   nr_slab_reclaimable 7510
>   nr_slab_unreclaimable 10775
>   nr_isolated_anon 0
>   nr_isolated_file 0
>   <...>
>   nr_vmscan_write 0
>   nr_vmscan_immediate_reclaim 0
>   nr_dirtied   6022
>   nr_written   5985
>74240
>   ^^
>   pages free 131656
> 
> The problem is caused by the nr_indirectly_reclaimable counter,
> which is hidden from the /proc/vmstat, but not from the
> /proc/zoneinfo. Let's fix this inconsistency and hide the
> counter from /proc/zoneinfo exactly as from /proc/vmstat.

Ooops, good catch.

> BTW, in 4.19+ the counter has been renamed and exported by
> the commit b29940c1abd7 ("mm: rename and change semantics of
> nr_indirectly_reclaimable_bytes"), so there is no such a problem
> anymore.

Yeah and that commit depends on introducing a new set kmalloc
reclaimable caches, which is definitely not a stable material, so a
stable-only patch seems to be the only option.

> Cc:  # 4.14.x-4.18.x
> Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in 
> /proc/vmstat")
> Reported-by: Yongqin Liu 
> Signed-off-by: Roman Gushchin 
> Cc: Vlastimil Babka 
> Cc: Andrew Morton 

Acked-by: Vlastimil Babka 

> ---
>  mm/vmstat.c | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index 527ae727d547..6389e876c7a7 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -1500,6 +1500,10 @@ static void zoneinfo_show_print(struct seq_file *m, 
> pg_data_t *pgdat,
>   if (is_zone_first_populated(pgdat, zone)) {
>   seq_printf(m, "\n  per-node stats");
>   for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++) {
> + /* Skip hidden vmstat items. */
> + if (*vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
> +  NR_VM_NUMA_STAT_ITEMS] == '\0')
> + continue;
>   seq_printf(m, "\n  %-12s %lu",
>   vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
>   NR_VM_NUMA_STAT_ITEMS],
> 



Re: [PATCH] mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo

2018-10-31 Thread Vlastimil Babka
On 10/30/18 6:48 PM, Roman Gushchin wrote:
> Yongqin reported that /proc/zoneinfo format is broken in 4.14
> due to commit 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable
> in /proc/vmstat")
> 
> Node 0, zone  DMA
>   per-node stats
>   nr_inactive_anon 403
>   nr_active_anon 89123
>   nr_inactive_file 128887
>   nr_active_file 47377
>   nr_unevictable 2053
>   nr_slab_reclaimable 7510
>   nr_slab_unreclaimable 10775
>   nr_isolated_anon 0
>   nr_isolated_file 0
>   <...>
>   nr_vmscan_write 0
>   nr_vmscan_immediate_reclaim 0
>   nr_dirtied   6022
>   nr_written   5985
>74240
>   ^^
>   pages free 131656
> 
> The problem is caused by the nr_indirectly_reclaimable counter,
> which is hidden from the /proc/vmstat, but not from the
> /proc/zoneinfo. Let's fix this inconsistency and hide the
> counter from /proc/zoneinfo exactly as from /proc/vmstat.

Ooops, good catch.

> BTW, in 4.19+ the counter has been renamed and exported by
> the commit b29940c1abd7 ("mm: rename and change semantics of
> nr_indirectly_reclaimable_bytes"), so there is no such a problem
> anymore.

Yeah and that commit depends on introducing a new set kmalloc
reclaimable caches, which is definitely not a stable material, so a
stable-only patch seems to be the only option.

> Cc:  # 4.14.x-4.18.x
> Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in 
> /proc/vmstat")
> Reported-by: Yongqin Liu 
> Signed-off-by: Roman Gushchin 
> Cc: Vlastimil Babka 
> Cc: Andrew Morton 

Acked-by: Vlastimil Babka 

> ---
>  mm/vmstat.c | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index 527ae727d547..6389e876c7a7 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -1500,6 +1500,10 @@ static void zoneinfo_show_print(struct seq_file *m, 
> pg_data_t *pgdat,
>   if (is_zone_first_populated(pgdat, zone)) {
>   seq_printf(m, "\n  per-node stats");
>   for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++) {
> + /* Skip hidden vmstat items. */
> + if (*vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
> +  NR_VM_NUMA_STAT_ITEMS] == '\0')
> + continue;
>   seq_printf(m, "\n  %-12s %lu",
>   vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
>   NR_VM_NUMA_STAT_ITEMS],
> 



[PATCH] mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo

2018-10-30 Thread Roman Gushchin
Yongqin reported that /proc/zoneinfo format is broken in 4.14
due to commit 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable
in /proc/vmstat")

Node 0, zone  DMA
  per-node stats
  nr_inactive_anon 403
  nr_active_anon 89123
  nr_inactive_file 128887
  nr_active_file 47377
  nr_unevictable 2053
  nr_slab_reclaimable 7510
  nr_slab_unreclaimable 10775
  nr_isolated_anon 0
  nr_isolated_file 0
  <...>
  nr_vmscan_write 0
  nr_vmscan_immediate_reclaim 0
  nr_dirtied   6022
  nr_written   5985
   74240
  ^^
  pages free 131656

The problem is caused by the nr_indirectly_reclaimable counter,
which is hidden from the /proc/vmstat, but not from the
/proc/zoneinfo. Let's fix this inconsistency and hide the
counter from /proc/zoneinfo exactly as from /proc/vmstat.

BTW, in 4.19+ the counter has been renamed and exported by
the commit b29940c1abd7 ("mm: rename and change semantics of
nr_indirectly_reclaimable_bytes"), so there is no such a problem
anymore.

Cc:  # 4.14.x-4.18.x
Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in /proc/vmstat")
Reported-by: Yongqin Liu 
Signed-off-by: Roman Gushchin 
Cc: Vlastimil Babka 
Cc: Andrew Morton 
---
 mm/vmstat.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/mm/vmstat.c b/mm/vmstat.c
index 527ae727d547..6389e876c7a7 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1500,6 +1500,10 @@ static void zoneinfo_show_print(struct seq_file *m, 
pg_data_t *pgdat,
if (is_zone_first_populated(pgdat, zone)) {
seq_printf(m, "\n  per-node stats");
for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++) {
+   /* Skip hidden vmstat items. */
+   if (*vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
+NR_VM_NUMA_STAT_ITEMS] == '\0')
+   continue;
seq_printf(m, "\n  %-12s %lu",
vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
NR_VM_NUMA_STAT_ITEMS],
-- 
2.17.2



[PATCH] mm: hide incomplete nr_indirectly_reclaimable in /proc/zoneinfo

2018-10-30 Thread Roman Gushchin
Yongqin reported that /proc/zoneinfo format is broken in 4.14
due to commit 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable
in /proc/vmstat")

Node 0, zone  DMA
  per-node stats
  nr_inactive_anon 403
  nr_active_anon 89123
  nr_inactive_file 128887
  nr_active_file 47377
  nr_unevictable 2053
  nr_slab_reclaimable 7510
  nr_slab_unreclaimable 10775
  nr_isolated_anon 0
  nr_isolated_file 0
  <...>
  nr_vmscan_write 0
  nr_vmscan_immediate_reclaim 0
  nr_dirtied   6022
  nr_written   5985
   74240
  ^^
  pages free 131656

The problem is caused by the nr_indirectly_reclaimable counter,
which is hidden from the /proc/vmstat, but not from the
/proc/zoneinfo. Let's fix this inconsistency and hide the
counter from /proc/zoneinfo exactly as from /proc/vmstat.

BTW, in 4.19+ the counter has been renamed and exported by
the commit b29940c1abd7 ("mm: rename and change semantics of
nr_indirectly_reclaimable_bytes"), so there is no such a problem
anymore.

Cc:  # 4.14.x-4.18.x
Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in /proc/vmstat")
Reported-by: Yongqin Liu 
Signed-off-by: Roman Gushchin 
Cc: Vlastimil Babka 
Cc: Andrew Morton 
---
 mm/vmstat.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/mm/vmstat.c b/mm/vmstat.c
index 527ae727d547..6389e876c7a7 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1500,6 +1500,10 @@ static void zoneinfo_show_print(struct seq_file *m, 
pg_data_t *pgdat,
if (is_zone_first_populated(pgdat, zone)) {
seq_printf(m, "\n  per-node stats");
for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++) {
+   /* Skip hidden vmstat items. */
+   if (*vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
+NR_VM_NUMA_STAT_ITEMS] == '\0')
+   continue;
seq_printf(m, "\n  %-12s %lu",
vmstat_text[i + NR_VM_ZONE_STAT_ITEMS +
NR_VM_NUMA_STAT_ITEMS],
-- 
2.17.2