Skip to content

Commit

Permalink
overcommit_memory: update for "mm: fix false-positive OVERCOMMIT_GUES…
Browse files Browse the repository at this point in the history
…S 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>
  • Loading branch information
jstancek committed May 21, 2019
1 parent bed049c commit d656a44
Showing 1 changed file with 4 additions and 7 deletions.
11 changes: 4 additions & 7 deletions testcases/kernel/mem/tunable/overcommit_memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit d656a44

Please sign in to comment.