----- 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

Reply via email to