From b8b554984bc0332a4668242a15b05ad539a0fa50 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Thu, 22 Sep 2022 13:31:10 +0900 Subject: [PATCH] Remove mmap size of drm render node as like drm node If drm render is used as gpu, its mmap size needs to be removed from total rss because it is already in 3d graphic memory. Remove mmap size of drm render node. Change-Id: I483c261efa76e04c58b45739cea7bac1f80e743f Signed-off-by: Seung-Woo Kim --- memps.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/memps.c b/memps.c index d8e81f4..2504cd8 100644 --- a/memps.c +++ b/memps.c @@ -41,6 +41,7 @@ #define STR_DRM_PATH1 "/drm mm object (deleted)" #define STR_DRM_PATH2 "/dev/dri/card" #define STR_DRM_DBG_DIR "/sys/kernel/debug/dri/" +#define STR_DRM_RENDER_PATH "/dev/dri/renderD" #define MEMCG_PATH "/sys/fs/cgroup/memory" #define ZRAM_USED_PATH "/sys/block/zram0/mem_used_total" #define ZRAM_MM_STAT_PATH "/sys/block/zram0/mm_stat" @@ -107,6 +108,7 @@ struct trib_mapinfo { unsigned peak_rss; unsigned other_devices; unsigned gem_mmap; + unsigned render_gem_mmap; }; struct geminfo { @@ -820,6 +822,7 @@ static void init_trib_mapinfo(trib_mapinfo *tmi) tmi->peak_rss = 0; tmi->other_devices = 0; tmi->gem_mmap = 0; + tmi->render_gem_mmap = 0; } unsigned int get_graphic_3d_meminfo(unsigned int tgid) @@ -881,6 +884,9 @@ get_trib_mapinfo(unsigned int tgid, mapinfo *milist, !strncmp(mi->name, STR_DRM_PATH2, sizeof(STR_DRM_PATH2))) { result->gem_mmap += mi->rss; + } else if (!strncmp(mi->name, STR_DRM_RENDER_PATH, + sizeof(STR_DRM_RENDER_PATH))) { + result->render_gem_mmap += mi->rss; } else { result->shared_clean += mi->shared_clean; result->shared_dirty += mi->shared_dirty; @@ -910,6 +916,8 @@ get_trib_mapinfo(unsigned int tgid, mapinfo *milist, result->peak_rss = result->rss; if (result->gem_mmap > 0) result->peak_rss -= result->gem_mmap; + if (result->render_gem_mmap > 0) + result->peak_rss -= result->render_gem_mmap; gi = find_geminfo(tgid, gilist); if (gi != NULL) { -- 2.7.4