• 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=test
12MEMCG_SHMMAX=1
13TST_TEST_DATA="--mmap-anon --mmap-file --shm"
14. memcg_lib.sh
15
16MEMORY_LIMIT=$PAGESIZE
17MEMORY_TO_ALLOCATE=$((MEMORY_LIMIT * 2))
18
19test()
20{
21	ROD echo $MEMORY_LIMIT \> memory.limit_in_bytes
22
23	start_memcg_process $2 -s ${MEMORY_TO_ALLOCATE}
24	ROD echo $MEMCG_PROCESS_PID \> tasks
25
26	signal_memcg_process ${MEMORY_TO_ALLOCATE}
27	signal_memcg_process ${MEMORY_TO_ALLOCATE}
28
29	stop_memcg_process
30
31	failcnt=$(cat memory.failcnt)
32	if [ $failcnt -gt 0 ]; then
33		tst_res TPASS "memory.failcnt is $failcnt, > 0 as expected"
34	else
35		tst_res TFAIL "memory.failcnt is $failcnt, <= 0 expected"
36	fi
37}
38
39tst_run
40