summaryrefslogtreecommitdiff
path: root/mali_pixel/memory_group_manager.c
diff options
context:
space:
mode:
authorMinchan Kim <minchan@google.com>2021-06-21 16:48:05 -0700
committerMinchan Kim <minchan@google.com>2021-06-22 09:16:51 -0700
commitf0d34749d288be085505e6938b40891241ac16bf (patch)
tree657c382319254c680416bcd0c2795879960d0ee4 /mali_pixel/memory_group_manager.c
parentd0e1e16c71a38f8ac9d12f4aa3739cedf26a259d (diff)
downloadgpu-f0d34749d288be085505e6938b40891241ac16bf.tar.gz
mali_pixel: mgm: fix memory usage accounting
lp_size is 2M so correct it for reporting. Bug: 191762065 Signed-off-by: Minchan Kim <minchan@google.com> Change-Id: I4a5113c17868e96f58cdfcb731ff67e232d1b7a0
Diffstat (limited to 'mali_pixel/memory_group_manager.c')
-rw-r--r--mali_pixel/memory_group_manager.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/mali_pixel/memory_group_manager.c b/mali_pixel/memory_group_manager.c
index 378fc7a..2072e89 100644
--- a/mali_pixel/memory_group_manager.c
+++ b/mali_pixel/memory_group_manager.c
@@ -258,6 +258,9 @@ static int mgm_debugfs_init(struct mgm_groups *mgm_data)
*/
extern struct kobject *pixel_stat_gpu_kobj;
+#define ORDER_SMALL_PAGE 0
+#define ORDER_LARGE_PAGE 9
+
#define MGM_ATTR_RO(_name) \
static struct kobj_attribute _name##_attr = __ATTR_RO(_name)
@@ -267,8 +270,10 @@ static ssize_t total_page_count_show(struct kobject *kobj,
struct mgm_groups *data = container_of(kobj, struct mgm_groups, kobj);
int i, pages = 0;
+ /* count pages as 4K unit */
for (i = 0; i < MEMORY_GROUP_MANAGER_NR_GROUPS; i++)
- pages += atomic_read(&data->groups[i].size) + atomic_read(&data->groups[i].lp_size);
+ pages += (atomic_read(&data->groups[i].size) << ORDER_SMALL_PAGE) +
+ (atomic_read(&data->groups[i].lp_size) << ORDER_LARGE_PAGE);
return sysfs_emit(buf, "%d\n", pages);
}
@@ -340,8 +345,6 @@ static void mgm_sysfs_term(struct mgm_groups *data)
kobject_put(&data->kobj);
}
-#define ORDER_SMALL_PAGE 0
-#define ORDER_LARGE_PAGE 9
static void update_size(struct memory_group_manager_device *mgm_dev, int
group_id, int order, bool alloc)
{