From: duguowei <[email protected]>

If device enables swap file, enlarging the memory usage for each
monitored item. It can be adjusted by ram_thresh sysfs node.

Signed-off-by: duguowei <[email protected]>
---
 fs/f2fs/node.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 836c79a20afc..f1cf3d2bc7c2 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -54,9 +54,12 @@ bool f2fs_available_free_memory(struct f2fs_sb_info *sbi, 
int type)
                return true;
 
        si_meminfo(&val);
+       si_swapinfo(&val);
 
        /* only uses low memory */
        avail_ram = val.totalram - val.totalhigh;
+       /* if there is swap space, use it too.*/
+       avail_ram += val.totalswap;
 
        /*
         * give 25%, 25%, 50%, 50%, 50% memory for each components respectively
@@ -96,7 +99,7 @@ bool f2fs_available_free_memory(struct f2fs_sb_info *sbi, int 
type)
                res = mem_size < (avail_ram * nm_i->ram_thresh / 100);
        } else if (type == COMPRESS_PAGE) {
 #ifdef CONFIG_F2FS_FS_COMPRESSION
-               unsigned long free_ram = val.freeram;
+               unsigned long free_ram = val.freeram + val.freeswap;
 
                /*
                 * free memory is lower than watermark or cached page count
-- 
2.36.1



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to