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

- From: Greg KH \<gregkh@linuxfoundation.org\>
- Date: 2021-06-05 17:07:22 
- List: linux-api
- Page: https://ratatoskr.run/linux-api/2021/06/1403621
- Thread: https://ratatoskr.run/linux-block/2021/06/1403599/t.md

```text
On Sat, Jun 05, 2021 at 09:24:00AM -0700, yongw.pur@gmail.com wrote:
> From: wangyong <redacted>
> 
> 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 <redacted>
> ---
>  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
```
