[LTP] [PATCH 3/3] lib: unlimit the tmpfs size when test on small systems

Li Wang liwang@redhat.com
Fri Sep 24 09:07:56 CEST 2021


Since commit c305a53c5 (lib: limit the size of tmpfs in LTP, Jul 9)
Ltp set tmpfs mount size according to the tdev.size. This cause a
new problem on small RAM system, which consume too much memory and
finally trigger OOM.

To fix this, let's cancel the tmpfs size limitation when MemAvailable
is less than twofold of tdev.size.

Reported-by: Ralph Siemsen <ralph.siemsen@linaro.org>
Signed-off-by: Li Wang <liwang@redhat.com>
---
 include/tst_test.h | 1 +
 lib/tst_test.c     | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/include/tst_test.h b/include/tst_test.h
index 5e3619698..3dcb45de0 100644
--- a/include/tst_test.h
+++ b/include/tst_test.h
@@ -42,6 +42,7 @@
 #include "tst_lockdown.h"
 #include "tst_fips.h"
 #include "tst_taint.h"
+#include "tst_memutils.h"
 
 /*
  * Reports testcase result.
diff --git a/lib/tst_test.c b/lib/tst_test.c
index 4224353da..b50856f20 100644
--- a/lib/tst_test.c
+++ b/lib/tst_test.c
@@ -895,6 +895,9 @@ static const char *limit_tmpfs_mount_size(const char *mnt_data,
 	if (strcmp(fs_type, "tmpfs"))
 		return mnt_data;
 
+	if ((tst_available_mem() / 1024) < (tdev.size * 2))
+		return mnt_data;
+
 	if (mnt_data)
 		snprintf(buf, buf_size, "%s,size=%luM", mnt_data, tdev.size);
 	else
-- 
2.31.1



More information about the ltp mailing list