• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0-or-later
3# Copyright (c) 2009 FUJITSU LIMITED
4# Copyright (c) 2016 Cyril Hrubis <chrubis@suse.cz>
5# Copyright (c) 2021 Joerg Vehlow <joerg.vehlow@aox-tech.de>
6#
7# Author: Li Zefan <lizf@cn.fujitsu.com>
8# Restructure for LTP: Shi Weihua <shiwh@cn.fujitsu.com>
9# Added memcg enable/disable functionality: Rishikesh K Rajak <risrajak@linux.vnet.ibm.com>
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