Commit [8c48cf]  Maximize  Restore  History

tunable/min_free_kbytes: add 32-bit system limit

in 32-bit system, one process only allocate 3Gb memory at
most, even though there are enough memory and setting
overcommit_memory=1, the porcess always exit when it arrives
in 3Gb memory.

the patch use '__WORDSIZE' macro to avoid the incorrect 'TFAIL'
without the patch:
---- snip ----
min_free_kbytes 0 TINFO : set overcommit_memory to 1
min_free_kbytes 0 TINFO : set min_free_kbytes to 3794
memfree is 15478420 kB before eatup mem
memfree is 12333408 kB after eatup mem
min_free_kbytes 3 TFAIL : child unexpectedly failed: 0
min_free_kbytes 0 TINFO : set min_free_kbytes to 7588
---- snip ----

after applying the patch:
---- snip ----
min_free_kbytes 0 TINFO : set overcommit_memory to 1
min_free_kbytes 0 TINFO : set min_free_kbytes to 3794
memfree is 15478420 kB before eatup mem
memfree is 12333408 kB after eatup mem
min_free_kbytes 0 TINFO : Child can't allocate >3Gb memory in 32bit system
min_free_kbytes 0 TINFO : set min_free_kbytes to 7588
---- snip ----

Reported-by: Shuang Qiu <shuang.qiu@oracle.com>
Signed-off-by: Zhouping Liu <zliu@redhat.com>
Reviewed-by: Caspar Zhang <caspar@casparzhang.com>
Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>

Zhouping Liu Zhouping Liu 2012-08-29

Wanlong Gao Wanlong Gao 2012-08-31

changed testcases
changed testcases/kernel
changed testcases/kernel/mem
changed testcases/kernel/mem/tunable
changed testcases/kernel/mem/tunable/min_free_kbytes.c
testcases
Directory.
testcases/kernel
Directory.
testcases/kernel/mem/tunable/min_free_kbytes.c Diff Switch to side-by-side view
Loading...