Message ID | 20210813104725.4562-1-liuhailong@oppo.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm: add kernel_misc_reclaimable in show_free_areas | expand |
On Fri, 13 Aug 2021 18:47:25 +0800 liuhailong <liuhailong@oppo.com> wrote: > print NR_KERNEL_MISC_RECLAIMABLE stat from show_free_areas > to check whether shrinker work correctly and current mem usage. What inspired this change? Are you observing problems with misc_reclaimable memory accumulation?
On 8/14/2021 4:13 AM, Andrew Morton wrote: On Fri, 13 Aug 2021 18:47:25 +0800 liuhailong <liuhailong@oppo.com><mailto:liuhailong@oppo.com> wrote: print NR_KERNEL_MISC_RECLAIMABLE stat from show_free_areas to check whether shrinker work correctly and current mem usage. What inspired this change? Are you observing problems with misc_reclaimable memory accumulation? 1. although we can get usage from /proc/meminfo, but sometimes we only get kernel msg, so we need this to check memusage 2. some drivers use it, like dma heap page pool or gpu driver mem pool, so it also help us to find whether shrinker work correctly on lowmem condition 3. i thought it's resonable for show_free_areas to print misc_recliamiable
On 8/14/2021 4:13 AM, Andrew Morton wrote: > On Fri, 13 Aug 2021 18:47:25 +0800 liuhailong <liuhailong@oppo.com> wrote: > >> print NR_KERNEL_MISC_RECLAIMABLE stat from show_free_areas >> to check whether shrinker work correctly and current mem usage. > > What inspired this change? Are you observing problems with > misc_reclaimable memory accumulation? 1. although we can get usage from /proc/meminfo, but sometimes we only get kernel msg, so we need this to check memusage 2. some drivers use it, like dma heap page pool or gpu driver mem pool, so it also help us to find whether shrinker work correctly on lowmem condition 3. i thought it's resonable for show_free_areas to print misc_recliamiable
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 856b175c15a4..0eb29a56f349 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5904,6 +5904,7 @@ void show_free_areas(unsigned int filter, nodemask_t *nodemask) " unevictable:%lu dirty:%lu writeback:%lu\n" " slab_reclaimable:%lu slab_unreclaimable:%lu\n" " mapped:%lu shmem:%lu pagetables:%lu bounce:%lu\n" + " kernel_misc_reclaimable:%lu\n" " free:%lu free_pcp:%lu free_cma:%lu\n", global_node_page_state(NR_ACTIVE_ANON), global_node_page_state(NR_INACTIVE_ANON), @@ -5920,6 +5921,7 @@ void show_free_areas(unsigned int filter, nodemask_t *nodemask) global_node_page_state(NR_SHMEM), global_node_page_state(NR_PAGETABLE), global_zone_page_state(NR_BOUNCE), + global_node_page_state(NR_KERNEL_MISC_RECLAIMABLE), global_zone_page_state(NR_FREE_PAGES), free_pcp, global_zone_page_state(NR_FREE_CMA_PAGES));
print NR_KERNEL_MISC_RECLAIMABLE stat from show_free_areas to check whether shrinker work correctly and current mem usage. Signed-off-by: liuhailong <liuhailong@oppo.com> --- mm/page_alloc.c | 2 ++ 1 file changed, 2 insertions(+)