----- Original Message -----
> From: "Manjeet Pawar" <manjee...@samsung.com>
> To: ltp-list@lists.sourceforge.net
> Cc: "ajeet y" <ajee...@samsung.com>, "pankaj m" <panka...@samsung.com>
> Sent: Friday, 24 July, 2015 6:07:45 AM
> Subject: [LTP] Regarding memcg control testcase (mem_process.c)
>
> Hi,
>
> I am trying to run memcg control testcase using script memcg_control_test.sh.
> This script calls a memory hog process 'mem_process'.
> The condition for this testcase to pass is 'when the memory hog process is
> killed on crossing boundary'. please check the below function.
>
> <taken from memcg_control_test.sh>
> -----------------------------
> # Check if the test process is killed on crossing boundary
> test_proc_kill()
> {
> ( cd $TMP && mem_process -m $PROC_MEM & )
> sleep 1
> echo $! > tasks
mem_process is getting started via subshell, so I'd assume $! in parent is
bogus.
Can you try this instead:
pushd $TMP || return
mem_process -m $PROC_MEM &
local pid=$!
popd
sleep 1
echo $pid > tasks
>
> #Instruct the test process to start acquiring memory
> echo m > $STATUS_PIPE
> sleep 5
>
> #Check if killed
> ps -p $! > /dev/null 2> /dev/null ----> at this point the process
> 'mem_process' must have terminated so that last return value ($?) can be
> non-zero.
> if [ $? -eq 0 ]; then
> echo m > $STATUS_PIPE
> echo x > $STATUS_PIPE
> else
> : $((KILLED_CNT += 1))
> fi
> }
> -------------------------
> In my case: 'mem_process' does not terminate until we pass 'x' to it, but the
> expected behaviour according to testcase that the memory hog process
> must be killed on crossing bounday.
> Inputs taken by testcase are : "./memcg_control_test.sh 4096 4096 8192"
> If I change the inputs from 8192 to other (1024,10MB,100MB etc) . In all
> situation memory hog process does not terminate.
> So what is the ideal condition for this process to terminate to make whole
> testcase pass. ?
mem_process getting killed by OOM seems like expected outcome:
memcg_control 0 TINFO : Test #1: Checking if the memory usage limit
imposed by the topmost group is enforced
./memcg_control_test.sh: line 56: 2795 Killed mem_process -m
$PROC_MEM (wd: /tmp)
memcg_control 1 TPASS : Test #1: passed
memcg_control 1 TPASS : memcg_control: passed
If it still doesn't get killed, I'd recommend checking "memory.usage_in_bytes".
Regards,
Jan
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Ltp-list mailing list
> Ltp-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ltp-list
>
------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list