This is a new solution to charge ZRAM objects,more simple than previous one[1],The compressed RAM is currently charged to kernel,not to any memory cgroup. As we know, zram can be used in two ways, direct and indirect, this patchset can charge memory in both cases. Direct zram usage by process within a cgroup will fail to charge if there is no memory. Indirect zram usage by process within a cgroup via swap in PF_MEMALLOC context, will charge successfully. [1] https://lore.kernel.org/all/20230615034830.1361853-1-hezhongkun.hzk@xxxxxxxxxxxxx/ Zhongkun He (2): memcg: Add support for zram object charge zram: charge the compressed RAM to the page's memcgroup drivers/block/zram/zram_drv.c | 43 +++++++++++++++++++++++++++++++++++ drivers/block/zram/zram_drv.h | 1 + include/linux/memcontrol.h | 10 ++++++++ mm/memcontrol.c | 23 +++++++++++++++++++ 4 files changed, 77 insertions(+) -- 2.25.1