All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manjeet Pawar <manjeet.p@samsung.com>
To: Jan Stancek <jstancek@redhat.com>
Cc: AJEET YADAV <ajeet.y@samsung.com>,
	"ltp-list@lists.sourceforge.net" <ltp-list@lists.sourceforge.net>,
	PANKAJ MISHRA <pankaj.m@samsung.com>
Subject: Re: [LTP] Regarding memcg control  testcase (mem_process.c)
Date: Mon, 27 Jul 2015 08:12:46 +0000 (GMT)	[thread overview]
Message-ID: <1819982097.50101437984766322.JavaMail.weblogic@epmlwas01c> (raw)

Hello Mr Jan,
Thanks for your reply,
With actual testscript I checked my "$!" , it is printing correct pid.
Also changes which you suggest, I tried with those changes , it is showing me either "mmap failed:ffffffff" sometimes or "a successful mmap call". 
In my case "memory.usage_in_bytes" is 4096. 
Testcase is run as "./memcg_control_test.sh 4096 4096 8192". 
I am not getting this "mem_process getting killed by OOM seems like expected outcome:" 
May i know which kernel verison you are using.? Now I am doubtful on my kernel.

Regards
Manjeet

------- Original Message -------
Sender : Jan Stancek<jstancek@redhat.com>
Date : Jul 26, 2015 20:28 (GMT+09:00)
Title : Re: [LTP] Regarding memcg control testcase (mem_process.c)


----- Original Message -----
> From: "Manjeet Pawar" 
> To: ltp-list@lists.sourceforge.net
> Cc: "ajeet y" , "pankaj m" 
> 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.
> 
> 
> -----------------------------
> # 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	other threads:[~2015-07-27  8:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-27  8:12 Manjeet Pawar [this message]
2015-07-27  8:32 ` [LTP] Regarding memcg control testcase (mem_process.c) Jan Stancek
  -- strict thread matches above, loose matches on Subject: below --
2015-07-29  9:10 Manjeet Pawar
2015-07-29  3:54 Manjeet Pawar
2015-07-29  6:48 ` Jan Stancek
2015-07-24  4:07 Manjeet Pawar
2015-07-26 11:28 ` Jan Stancek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1819982097.50101437984766322.JavaMail.weblogic@epmlwas01c \
    --to=manjeet.p@samsung.com \
    --cc=ajeet.y@samsung.com \
    --cc=jstancek@redhat.com \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=pankaj.m@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.