1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0-or-later 3# Copyright (c) 2009 FUJITSU LIMITED 4# Copyright (c) 2016 Cyril Hrubis <[email protected]> 5# Copyright (c) 2021 Joerg Vehlow <[email protected]> 6# 7# Author: Li Zefan <[email protected]> 8# Restructure for LTP: Shi Weihua <[email protected]> 9# Added memcg enable/disable functionality: Rishikesh K Rajak <[email protected]> 10 11MEMCG_TESTFUNC=do_test 12MEMCG_SHMMAX=1 13TST_TEST_DATA="--mmap-anon --mmap-file --shm" 14 15do_test() 16{ 17 ROD echo $MEMORY_LIMIT \> memory.limit_in_bytes 18 19 start_memcg_process $2 -s ${MEMORY_TO_ALLOCATE} 20 ROD echo $MEMCG_PROCESS_PID \> tasks 21 22 signal_memcg_process ${MEMORY_TO_ALLOCATE} 23 signal_memcg_process ${MEMORY_TO_ALLOCATE} 24 25 stop_memcg_process 26 27 failcnt=$(cat memory.failcnt) 28 if [ $failcnt -gt 0 ]; then 29 tst_res TPASS "memory.failcnt is $failcnt, > 0 as expected" 30 else 31 tst_res TFAIL "memory.failcnt is $failcnt, <= 0 expected" 32 fi 33} 34 35. memcg_lib.sh 36 37MEMORY_LIMIT=$PAGESIZE 38MEMORY_TO_ALLOCATE=$((MEMORY_LIMIT * 2)) 39 40tst_run 41