From 8a98ecb28e648b11df53ddcab63457b41aa5d04c Mon Sep 17 00:00:00 2001 From: Zhen Chen Date: Thu, 26 Oct 2023 16:30:31 +0800 Subject: [PATCH] Mali: bifrost: log: Add pid and task_comm of contexts in the info read from node "gpu_memory" The output of "cat /sys/kernel/debug/mali0/gpu_memory" would look like: mali0 13312 kctx-0x0000000000000000 system_server 609 1653 kctx-0x0000000000000000 droid.launcher3 1042 1636 kctx-0x0000000000000000 ndroid.systemui 802 5859 kctx-0x0000000000000000 ndroid.settings 915 1566 kctx-0x0000000000000000 surfaceflinger 310 2590 Signed-off-by: Zhen Chen Change-Id: Ifc8e4a49cc00aff54feacc1fbcdacf3af255e0a1 --- .../arm/bifrost/mali_kbase_gpu_memory_debugfs.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/arm/bifrost/mali_kbase_gpu_memory_debugfs.c b/drivers/gpu/arm/bifrost/mali_kbase_gpu_memory_debugfs.c index b02a32cec910..bf5f259a0bb6 100644 --- a/drivers/gpu/arm/bifrost/mali_kbase_gpu_memory_debugfs.c +++ b/drivers/gpu/arm/bifrost/mali_kbase_gpu_memory_debugfs.c @@ -48,18 +48,30 @@ static int kbasep_gpu_memory_seq_show(struct seq_file *sfile, void *data) kbdev = list_entry(entry, struct kbase_device, entry); /* output the total memory usage and cap for this device */ + seq_printf(sfile, " \n"); seq_printf(sfile, "%-16s %10u\n", kbdev->devname, atomic_read(&(kbdev->memdev.used_pages))); mutex_lock(&kbdev->kctx_list_lock); + seq_printf(sfile, " \n"); list_for_each_entry(kctx, &kbdev->kctx_list, kctx_list_link) { + struct pid *pid_struct; + struct task_struct *task; + + rcu_read_lock(); + pid_struct = find_get_pid(kctx->tgid); + task = pid_task(pid_struct, PIDTYPE_PID); /* output the memory usage and cap for each kctx * opened on this device */ - seq_printf(sfile, " %s-0x%pK %10u\n", + seq_printf(sfile, " %s-0x%pK %-20s %-10d %10u\n", "kctx", kctx, + task ? task->comm : "[null comm]", + kctx->tgid, atomic_read(&(kctx->used_pages))); + put_pid(pid_struct); + rcu_read_unlock(); } mutex_unlock(&kbdev->kctx_list_lock); }