From 2c6fb26c7a8e97f3b92a16da2811afff9289ff36 Mon Sep 17 00:00:00 2001 From: CY Fan Date: Tue, 24 May 2022 17:16:38 +0800 Subject: [PATCH] eswap: add eswap_info for swapout size ohos inclusion category: feature issue: #I5B89X CVE: NA Signed-off-by: CY Fan --- drivers/block/zram/zram_group/group_writeback.c | 2 ++ mm/zswapd_control.c | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/drivers/block/zram/zram_group/group_writeback.c b/drivers/block/zram/zram_group/group_writeback.c index abc8a5c4c663..18b7f0532924 100644 --- a/drivers/block/zram/zram_group/group_writeback.c +++ b/drivers/block/zram/zram_group/group_writeback.c @@ -471,6 +471,8 @@ u64 write_group_objs(struct zram *zram, u16 gid, u64 req_size) write_size += size; } + atomic64_add(write_size, &zram->zgrp->stats[0].write_size); + atomic64_add(write_size, &zram->zgrp->stats[gid].write_size); return write_size; } #endif diff --git a/mm/zswapd_control.c b/mm/zswapd_control.c index ab5ca24b3006..8ee2ba6f8157 100644 --- a/mm/zswapd_control.c +++ b/mm/zswapd_control.c @@ -666,6 +666,17 @@ static int zswapd_vmstat_show(struct seq_file *m, void *v) return 0; } +static int eswap_info_show(struct seq_file *m, void *v) +{ + struct mem_cgroup *memcg = mem_cgroup_from_css(seq_css(m)); + unsigned long long eswap_size; + + eswap_size = memcg_data_size(memcg, WRITE_SIZE) / SZ_1K; + seq_printf(m, "Total Swapout Size: %llu kB\n", eswap_size); + + return 0; +} + void memcg_eswap_info_show(struct seq_file *m) { struct mem_cgroup *memcg = mem_cgroup_from_css(seq_css(m)); @@ -829,6 +840,11 @@ static struct cftype zswapd_policy_files[] = { .seq_show = zswapd_vmstat_show, }, #endif + { + .name = "eswap_info", + .flags = CFTYPE_ONLY_ON_ROOT, + .seq_show = eswap_info_show, + }, { }, /* terminate */ }; -- Gitee