On Fri, Jul 28, 2017 at 11:07:51AM +0200, Michal Hocko wrote: > On Thu 27-07-17 12:23:55, Johannes Weiner wrote: > > >From 14e3d7647b3cf524dbb005faaea96b00b6909c12 Mon Sep 17 00:00:00 2001 > > From: Johannes Weiner <hannes@xxxxxxxxxxx> > > Date: Thu, 27 Jul 2017 11:59:38 -0400 > > Subject: [PATCH] mm: fix global NR_SLAB_.*CLAIMABLE counter reads > > > > As Tetsuo points out: > > > > Commit 385386cff4c6f047 ("mm: vmstat: move slab statistics from > > zone to node counters") broke "Slab:" field of /proc/meminfo . It > > shows nearly 0kB. > > > > In addition to /proc/meminfo, this problem also affects the slab > > counters OOM/allocation failure info dumps, can cause early -ENOMEM > > from overcommit protection, and miscalculate image size requirements > > during suspend-to-disk. > > > > This is because the patch in question switched the slab counters from > > the zone level to the node level, but forgot to update the global > > accessor functions to read the aggregate node data instead of the > > aggregate zone data. > > > > Use global_node_page_state() to access the global slab counters. > > > > Fixes: 385386cff4c6 ("mm: vmstat: move slab statistics from zone to node counters") > > Reported-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> > > Looks good to me > > Acked-by: Michal Hocko <mhocko@xxxxxxxx> Thanks > From: Michal Hocko <mhocko@xxxxxxxx> > Date: Fri, 28 Jul 2017 11:02:51 +0200 > Subject: [PATCH] mm: rename global_page_state to global_zone_page_state > > global_page_state is error prone as a recent bug report pointed out [1]. > It only returns proper values for zone based counters as the enum it > gets suggests. We already have global_node_page_state so let's rename > global_page_state to global_zone_page_state to be more explicit here. > All existing users seems to be correct > $ git grep "global_page_state(NR_" | sed 's@.*(\(NR_[A-Z_]*\)).*@\1@' | sort | uniq -c > 2 NR_BOUNCE > 2 NR_FREE_CMA_PAGES > 11 NR_FREE_PAGES > 1 NR_KERNEL_STACK_KB > 1 NR_MLOCK > 2 NR_PAGETABLE > > This patch shouldn't introduce any functional change. > > [1] http://lkml.kernel.org/r/201707260628.v6Q6SmaS030814@xxxxxxxxxxxxxxxxxxx > > Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Yeah I think that's a good idea. I suspect Mel wanted to keep churn in unrelated callsites down when he introduced the node stuff, since that was already a big patch series. It makes sense to clean this up now. Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>