Revert "modules: use si_mem_available() when possible"

This method produced too optimistic free memory value, which in result
led to oom killer activation. This patch restores more conservative
free memory calculation method.

This reverts commit 1e9b7a4262.

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
This commit is contained in:
Robert Baldyga 2021-01-14 14:38:03 +01:00
parent f967596b47
commit ca3e1a5984
2 changed files with 11 additions and 20 deletions

View File

@ -9,16 +9,12 @@
check() {
cur_name=$(basename $2)
config_file_path=$1
if compile_module $cur_name "si_mem_available()" "linux/mm.h"
if compile_module $cur_name "global_zone_page_state(1)" "linux/mm.h"
then
echo $cur_name "1" >> $config_file_path
elif compile_module $cur_name "global_zone_page_state(1)" "linux/mm.h"
then
echo $cur_name "2" >> $config_file_path
elif compile_module $cur_name "global_page_state(1)" "linux/mm.h"
then
echo $cur_name "3" >> $config_file_path
echo $cur_name "2" >> $config_file_path
else
echo $cur_name "X" >> $config_file_path
fi
@ -28,20 +24,15 @@ apply() {
case "$1" in
"1")
add_function "
static inline unsigned long cas_get_free_mem(void)
{ return si_mem_available() << PAGE_SHIFT;
static inline unsigned long cas_global_zone_page_state(enum zone_stat_item item)
{
return global_zone_page_state(item);
}" ;;
"2")
add_function "
static inline unsigned long cas_get_free_mem(void)
static inline unsigned long cas_global_zone_page_state(enum zone_stat_item item)
{
return global_zone_page_state(NR_FREE_PAGES) << PAGE_SHIFT;
}" ;;
"3")
add_function "
static inline unsigned long cas_get_free_mem(void)
{
return global_page_state(NR_FREE_PAGES) << PAGE_SHIFT;
return global_page_state(item);
}" ;;
*)
exit 1

View File

@ -21,7 +21,7 @@
static inline uint64_t env_get_free_memory(void)
{
return cas_get_free_mem();
return cas_global_zone_page_state(NR_FREE_PAGES) << PAGE_SHIFT;
}
static inline void *env_malloc(size_t size, int flags)