Use only free memory to determine memory size to test.
Current util.usable_memtotal use free memory / buffer / cached
memory to determine memory size to test assume the OS will free
that region of memory automatically. However this prove to be
too aggressive for some test and make DUT reboot itself during the
test make the test failed. This CL change this behavior to use only
free memory for testing.
CQ-DEPEND=CL:213563
BUG=chromium:402530
TEST=run hardware_Memtester. DUT no longer reboot during the test.
Change-Id: I5c9a2796d933f84c4e853022fd1a5d550083135c
Reviewed-on: https://chromium-review.googlesource.com/211851
Reviewed-by: Nick Sanders <nsanders@chromium.org>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Puthikorn Voravootivat <puthik@chromium.org>
Commit-Queue: Puthikorn Voravootivat <puthik@chromium.org>
diff --git a/client/bin/base_utils.py b/client/bin/base_utils.py
index d35fd0a..9097573 100644
--- a/client/bin/base_utils.py
+++ b/client/bin/base_utils.py
@@ -373,13 +373,8 @@
return read_from_meminfo('MemFree')
def usable_memtotal():
- # Assume 30MB reserved by the OS
- reserved = 30 * 1024
- ret = read_from_meminfo('MemFree')
- ret += read_from_meminfo('Buffers')
- ret += read_from_meminfo('Cached')
- ret = max(0, ret - reserved)
- return ret
+ # Reserved 5% for OS use
+ return int(read_from_meminfo('MemFree') * 0.95)
def rounded_memtotal():