Re: [RFC PATCH V2] zram:calculate available memory when zram is used

From: Greg KH
Date: Sat Jun 05 2021 - 13:07:22 EST


On Sat, Jun 05, 2021 at 09:24:00AM -0700, yongw.pur@xxxxxxxxx wrote:
> From: wangyong <yongw.pur@xxxxxxxxx>
>
> When zram is used, available+Swap free memory is obviously
> bigger than we actually can use, because zram can compress
> memory by compression algorithm and zram compressed data
> will occupy memory too.
>
> So, we can count the compression ratio of zram in the kernel.
> The space will be saved by zram and other swap device are
> calculated as follows:
> zram[swapfree - swapfree * compress ratio] + swapdev[swapfree]
> We can evaluate the available memory of the whole system as:
> MemAvailable+zram[swapfree - swapfree * compress ratio]+swapdev[swapfree]
>
> Add an entry to the /proc/meminfo file, returns swap will save space.
> Which name is more appropriate is still under consideration.
> There are several alternative names: SwapAvailable, SwapSaved,
> SwapCompressible
>
> Signed-off-by: wangyong <yongw.pur@xxxxxxxxx>
> ---
> drivers/block/zram/zcomp.h | 1 +
> drivers/block/zram/zram_drv.c | 19 +++++++++
> drivers/block/zram/zram_drv.h | 1 +
> fs/proc/meminfo.c | 1 +
> include/linux/swap.h | 10 +++++
> mm/swapfile.c | 95 +++++++++++++++++++++++++++++++++++++++++++
> mm/vmscan.c | 1 +
> 7 files changed, 128 insertions(+)

You are adding a new sysfs file with no new Documentation/ABI entry.
Also are you sure you are allowed to add a new proc file entry without
breaking existing tools?

thanks,

greg k-h