Merge pull request #1380 from robertbaldyga/available-memory-check

Use available memory statistic when possible
This commit is contained in:
Robert Baldyga 2022-10-25 11:04:15 +02:00 committed by GitHub
commit cefaa3b415
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 8 deletions

View File

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

View File

@ -1,5 +1,5 @@
/*
* Copyright(c) 2012-2021 Intel Corporation
* Copyright(c) 2012-2022 Intel Corporation
* SPDX-License-Identifier: BSD-3-Clause
*/
@ -22,7 +22,7 @@
static inline uint64_t env_get_free_memory(void)
{
return cas_global_zone_page_state(NR_FREE_PAGES) << PAGE_SHIFT;
return cas_get_free_memory();
}
static inline void *env_malloc(size_t size, int flags)