On Tue, 2008-04-29 at 10:35 +0530, Sudhir Kumar wrote:
> Sorry Folks!
> It seems being the midnight I forgot to modify the subject for second patch.
> It reflects as the PATCH 1/2 ....testcase1
> this patch is PATCH 2/2 .....testcase2.

Thanks Sudhir for the Patches. Can you please note down the following
points:

1) [PATCH 1/2]CONTROLLERS: memory resource controller testcase1,
        Dhaval gave some review comments. So, please send me an updated Patch
for this. And i will merge once the updated one is also acked.
2) [PATCH 2/2]CONTROLLERS: memory resource controller testcase2,
        This is not yet acked or reviewed.
3) Send us a sample test result for the new Memory Controllers
testcase(s). Hope your Patch also adds some documentation for Memory
Controllers.

Regards--
Subrata

> 
> > Hi All,
> > This patch contains second testcase for memory controller.
> > This test allocates memory in a new group after task migration.
> > 
> > Signed-off-by: Sudhir KUmar <[EMAIL PROTECTED]>
> > 
> > 
> > Index: ltp-full-20080229/testcases/kernel/controllers/memctl/memctl_test01.c
> > ===================================================================
> > --- 
> > ltp-full-20080229.orig/testcases/kernel/controllers/memctl/memctl_test01.c
> > +++ ltp-full-20080229/testcases/kernel/controllers/memctl/memctl_test01.c
> > @@ -62,6 +62,7 @@ int num_of_chunks, chunk_size, test_num,
> > 
> >  extern void cleanup();
> >  void signal_handler_sigusr1 (int signal);
> > +void signal_handler_sigusr2 (int signal);
> >  int allocate_memory(void);
> > 
> >  int main(int argc, char *argv[])
> > @@ -69,7 +70,7 @@ int main(int argc, char *argv[])
> >     int ret;
> >     char mygroup[64], mytaskfile[64];
> >     char *mygroup_p, *script_pid_p, *test_num_p, *chunk_size_p, 
> > *num_chunks_p;
> > -   struct sigaction newaction1, oldaction1;
> > +   struct sigaction newaction1, newaction2, oldaction1, oldaction2;
> > 
> >     /* Signal handling for SIGUSR1 recieved from script */
> >     sigemptyset (&newaction1.sa_mask);
> > @@ -77,6 +78,12 @@ int main(int argc, char *argv[])
> >     newaction1.sa_flags=0;
> >     sigaction (SIGUSR1, &newaction1, &oldaction1);
> > 
> > +   /* Signal handling for SIGUSR2 recieved from script */
> > +   sigemptyset (&newaction2.sa_mask);
> > +   newaction2.sa_handler = signal_handler_sigusr2;
> > +   newaction2.sa_flags=0;
> > +   sigaction (SIGUSR2, &newaction2, &oldaction2);
> > +
> >     /*
> >      *Capture variables from the script environment
> >      */
> > @@ -134,6 +141,21 @@ void signal_handler_sigusr1 (int signal)
> >     exit (0);
> >  }
> > 
> > +/*
> > + * Function: signal_handler_sigusr2()
> > + * signal handler for the new action
> > + */
> > +
> > +void signal_handler_sigusr2 (int signal)
> > +{
> > +   int i;
> > +   for (i=0; i< num_of_chunks; ++i)
> > +           free(array_of_chunks[i]);
> > +   free(array_of_chunks);
> > +   allocate_memory();
> > +}
> > +
> > +
> >  int allocate_memory()
> >  {
> >     int i, j;
> > Index: 
> > ltp-full-20080229/testcases/kernel/controllers/memctl/run_memctl_test.sh
> > ===================================================================
> > --- 
> > ltp-full-20080229.orig/testcases/kernel/controllers/memctl/run_memctl_test.sh
> > +++ ltp-full-20080229/testcases/kernel/controllers/memctl/run_memctl_test.sh
> > @@ -71,7 +71,8 @@ fi
> > 
> >  case ${TEST_NUM} in
> > 
> > -"1" )      NUM_GROUPS=2;
> > +"1" | "2" )
> > +   NUM_GROUPS=2;
> >     MEMLIMIT_GROUP_1=100M;
> >     MEMLIMIT_GROUP_2=100M;
> >     CHUNK_SIZE=6291456;                             # malloc n chunks of 
> > size m
> > @@ -101,7 +102,7 @@ echo "TEST STARTED: Please avoid using s
> >  #Check if  C source  file has been compiled and then run it in different 
> > groups
> > 
> >  case $TEST_NUM in
> > -"1")
> > +"1" | "2" )
> >     setmemlimits;
> >     if [ -f memctl_test01 ]
> >     then
> > @@ -156,26 +157,55 @@ case $TEST_NUM in
> >             # Wait for some time to check if memory usage of group_2 
> > increases
> >             # This is not the right approach however working. ??? 
> > thoughts???
> >             sleep 10;
> > -           GRP2_MEMUSAGE_NEW=`cat 
> > /dev/memctl/group_2/memory.usage_in_bytes`;
> > -           echo After task migration to group2
> > -           echo group2 memory usage: $GRP2_MEMUSAGE_NEW Bytes
> > 
> >             # Decision formula: decides PASS or FAIL
> > -           if [ $GRP2_MEMUSAGE_NEW -gt $GRP2_MEMUSAGE_OLD ]
> > -           then
> > -                   echo "TFAIL   Memory resource Controller:  Task 
> > Migration test FAILED";
> > -           else
> > -                   echo "TPASS   Memory Resource Controller: Task 
> > Migration test PASSED";
> > -           fi
> > +           case $TEST_NUM in
> > +           "1" )
> > +                   GRP2_MEMUSAGE_NEW=`cat 
> > /dev/memctl/group_2/memory.usage_in_bytes`;
> > +                   echo After task migration to group2
> > +                   echo group2 memory usage: $GRP2_MEMUSAGE_NEW Bytes
> > 
> > -                   # here we can add another testcases
> > +                   if [ $GRP2_MEMUSAGE_NEW -gt $GRP2_MEMUSAGE_OLD ]
> > +                   then
> > +                           echo "TFAIL   Memory resource Controller:  Task 
> > Migration test $TEST_NUM FAILED";
> > +                   else
> > +                           echo "TPASS   Memory Resource Controller: Task 
> > Migration test $TEST_NUM PASSED";
> > +                   fi
> > 
> >                     # Now we can signal the task to finish and do the 
> > cleanup
> > -           for i in $(seq 1 $TOTAL_TASKS)
> > -           do
> > -                   kill -SIGUSR1 ${PID[$i]};
> > -           done
> > -   else
> > +                   for i in $(seq 1 $TOTAL_TASKS)
> > +                   do
> > +                           kill -SIGUSR1 ${PID[$i]};
> > +                   done
> > +                   ;;
> > +           "2" )
> > +                   GRP2_MEMUSAGE_OLD=`cat 
> > /dev/memctl/group_2/memory.usage_in_bytes`;
> > +
> > +                   # signal the migrated tasks to allocate memory
> > +                   for i in $(seq 1 $TOTAL_TASKS)
> > +                   do
> > +                           kill -SIGUSR2 ${PID[$i]};
> > +                   done
> > +                   sleep 10; # Is it fine? Need input/alternates
> > +                   GRP2_MEMUSAGE_NEW=`cat 
> > /dev/memctl/group_2/memory.usage_in_bytes`;
> > +                   echo After task migration to group2 and doing malloc
> > +                   echo group2 memory usage: $GRP2_MEMUSAGE_NEW Bytes
> > +                   if [ $GRP2_MEMUSAGE_NEW -le $GRP2_MEMUSAGE_OLD ]
> > +                   then
> > +                           echo "TFAIL   Memory resource Controller:  Task 
> > Migration test $TEST_NUM FAILED";
> > +                   else
> > +                           # Now we can signal the task to finish and do 
> > the cleanup
> > +                           for i in $(seq 1 $TOTAL_TASKS)
> > +                           do
> > +                                   kill -SIGUSR1 ${PID[$i]};
> > +                           done
> > +                           echo "TPASS   Memory Resource Controller: Task 
> > Migration test $TEST_NUM PASSED";
> > +                   fi
> > +
> > +                   ;;
> > +           esac
> > +
> > +           else
> >             echo "Source file not compiled..Plz check Makefile...Exiting 
> > test"
> >             cleanup;
> >             exit -1;
> > Index: ltp-full-20080229/testcases/kernel/controllers/test_controllers.sh
> > ===================================================================
> > --- ltp-full-20080229.orig/testcases/kernel/controllers/test_controllers.sh
> > +++ ltp-full-20080229/testcases/kernel/controllers/test_controllers.sh
> > @@ -60,6 +60,7 @@ then
> >     if [ "$MEM_CONTROLLER" = "memory" ]
> >     then
> >             $LTPROOT/testcases/bin/run_memctl_test.sh 1;
> > +           $LTPROOT/testcases/bin/run_memctl_test.sh 2;
> >     else
> >             echo "CONTROLLERS TESTCASES: WARNING";
> >             echo "Kernel does not support for memory controller";
> > 
> > 
> > Thanks
> > Sudhir


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to