[LTP] [PATCH] memcg: Account for pages in the per-cpu cache
Richard Palethorpe
rpalethorpe@suse.com
Wed Oct 4 14:11:49 CEST 2023
PAGESIZES is one greater than the batch size for charging pages from
the per CPU cache. So with MEM_TO_ALLOC=2*PAGESIZES we have two pages
that are below the threshold for being charged.
Sometimes something triggers a flush and the pages get charged to the
global counter anyway and the test passes. We have seen cases where
the test times out waiting for this to happen.
So this patch sets a lower bound to allow those cases to pass. It'll
probably speed the test up as well.
Signed-off-by: Richard Palethorpe <rpalethorpe@suse.com>
---
.../controllers/memcg/functional/memcg_subgroup_charge.sh | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh b/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh
index 9bcc01258..3b7311422 100755
--- a/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh
+++ b/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh
@@ -33,8 +33,8 @@ test_subgroup()
fi
echo $MEMCG_PROCESS_PID > tasks
- signal_memcg_process $MEM_TO_ALLOC
- check_mem_stat "rss" $MEM_TO_ALLOC
+ signal_memcg_process $MIN_CHARGED
+ check_mem_stat "rss" $MIN_CHARGED $MEM_TO_ALLOC
cd subgroup
echo $MEMCG_PROCESS_PID > tasks
@@ -66,5 +66,6 @@ test3()
# Allocate memory bigger than per-cpu kernel memory
MEM_TO_ALLOC=$((PAGESIZES * 2))
+MIN_CHARGED=$((2 * (PAGESIZES - 1)))
tst_run
--
2.40.1
More information about the ltp
mailing list