mirror of
https://git.yoctoproject.org/poky
synced 2026-04-19 15:32:13 +02:00
ltp: Fix overcommit_memory failure
Backport a patch from upstream to fix the following runtime failure. mem.c:814: INFO: set overcommit_memory to 0 overcommit_memory.c:213: FAIL: alloc passed, expected to fail (From OE-Core rev: 869f46863e218c2d18ae7b4c0b28775fa07ba8b8) Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
From d656a447893dccc310c975a239f482278550c3e0 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Stancek <jstancek@redhat.com>
|
||||
Date: Tue, 21 May 2019 10:10:44 +0200
|
||||
Subject: [PATCH] overcommit_memory: update for "mm: fix false-positive
|
||||
OVERCOMMIT_GUESS failures"
|
||||
|
||||
commit 8c7829b04c52 ("mm: fix false-positive OVERCOMMIT_GUESS failures")
|
||||
changes logic of __vm_enough_memory(), simplifying it to:
|
||||
When in GUESS mode, catch wild allocations by comparing their request
|
||||
size to total amount of ram and swap in the system.
|
||||
|
||||
Testcase currently allocates mem_total + swap_total, which doesn't trigger
|
||||
new condition. Make it more extreme, but assuming free_total / 2 will PASS,
|
||||
and 2*sum_total will FAIL.
|
||||
|
||||
Signed-off-by: Jan Stancek <jstancek@redhat.com>
|
||||
Acked-by: Cyril Hrubis <chrubis@suse.cz>
|
||||
|
||||
Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/d656a447893dccc310c975a239f482278550c3e0]
|
||||
Signed-off-by: He Zhe <zhe.he@windriver.com>
|
||||
---
|
||||
testcases/kernel/mem/tunable/overcommit_memory.c | 11 ++++-------
|
||||
1 file changed, 4 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/testcases/kernel/mem/tunable/overcommit_memory.c b/testcases/kernel/mem/tunable/overcommit_memory.c
|
||||
index 555298f..345764d 100644
|
||||
--- a/testcases/kernel/mem/tunable/overcommit_memory.c
|
||||
+++ b/testcases/kernel/mem/tunable/overcommit_memory.c
|
||||
@@ -36,11 +36,10 @@
|
||||
*
|
||||
* The program is designed to test the two tunables:
|
||||
*
|
||||
- * When overcommit_memory = 0, allocatable memory can't overextends
|
||||
- * the amount of free memory. I choose the three cases:
|
||||
+ * When overcommit_memory = 0, allocatable memory can't overextend
|
||||
+ * the amount of total memory:
|
||||
* a. less than free_total: free_total / 2, alloc should pass.
|
||||
- * b. greater than free_total: free_total * 2, alloc should fail.
|
||||
- * c. equal to sum_total: sum_tatal, alloc should fail
|
||||
+ * b. greater than sum_total: sum_total * 2, alloc should fail.
|
||||
*
|
||||
* When overcommit_memory = 1, it can alloc enough much memory, I
|
||||
* choose the three cases:
|
||||
@@ -164,9 +163,7 @@ static void overcommit_memory_test(void)
|
||||
|
||||
update_mem();
|
||||
alloc_and_check(free_total / 2, EXPECT_PASS);
|
||||
- update_mem();
|
||||
- alloc_and_check(free_total * 2, EXPECT_FAIL);
|
||||
- alloc_and_check(sum_total, EXPECT_FAIL);
|
||||
+ alloc_and_check(sum_total * 2, EXPECT_FAIL);
|
||||
|
||||
/* start to test overcommit_memory=1 */
|
||||
set_sys_tune("overcommit_memory", 1, 1);
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -49,6 +49,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
|
||||
file://0001-testcases-use-python3-everywhere-to-run-python-scrip.patch \
|
||||
file://0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch \
|
||||
file://0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch \
|
||||
file://0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
Reference in New Issue
Block a user