diff mbox series

mm: add kernel_misc_reclaimable in show_free_areas

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

Commit Message

刘海龙(LaoLiu) Aug. 13, 2021, 10:47 a.m. UTC
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(+)

Comments

Andrew Morton Aug. 13, 2021, 8:13 p.m. UTC | #1
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?
刘海龙(LaoLiu) Aug. 14, 2021, 7:11 a.m. UTC | #2
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
刘海龙(LaoLiu) Aug. 15, 2021, 4:44 a.m. UTC | #3
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 mbox series

Patch

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));