From: Subrata <sub...@us...> - 2008-02-28 14:45:00
|
Update of /cvsroot/ltp/ltp/testcases/kernel/controllers/cpuctl In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv18464/ltp/testcases/kernel/controllers/cpuctl Modified Files: cpuctl_test04.c run_cpuctl_stress_test.sh Log Message: Initial Set of CPU CONTROLLERS Test Cases. This patch adds the tenth testcase(stress) for cpu controller. Signed-off-by: Sudhir Kumar <sk...@li...> Index: run_cpuctl_stress_test.sh =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_stress_test.sh,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** run_cpuctl_stress_test.sh 28 Feb 2008 14:41:52 -0000 1.2 --- run_cpuctl_stress_test.sh 28 Feb 2008 14:44:47 -0000 1.3 *************** *** 119,122 **** --- 119,128 ---- echo `date` >> $LTPROOT/output/cpuctl_results_$FILE.txt; ;; + "5" ) # Heavy stress test + NUM_GROUPS=2; + M=`expr $N \* 100`; + FILE="stress-5"; + echo `date` >> $LTPROOT/output/cpuctl_results_$FILE.txt; + ;; * ) usage; *************** *** 234,237 **** --- 240,288 ---- TOTAL_TASKS=$TASK_NUM; ;; + "5" ) + + if [ -f cpuctl_test04 ] + then + echo CPU CONTROLLER HEAVY STRESS TEST 5: >> $LTPROOT/output/cpuctl_results_$FILE.txt; + echo Test $TEST_NUM: NUM_GROUPS=$NUM_GROUPS >> $LTPROOT/output/cpuctl_results_$FILE.txt; + echo "===============================" >> $LTPROOT/output/cpuctl_results_$FILE.txt; + + for i in $(seq 1 $NUM_GROUPS) + do + MYGROUP=/dev/cpuctl/group_$i; + if [ $i -eq 1 ] + then + TASKS_IN_GROUP=$N; + else + TASKS_IN_GROUP=$M; + fi; + for j in $(seq 1 $TASKS_IN_GROUP) + do + TASK_NUM=`expr $TASK_NUM + 1`; + cp cpuctl_test04 cpuctl_task_$TASK_NUM 2>/dev/null; + chmod +x cpuctl_task_$TASK_NUM; + + GROUP_NUM=$i MYGROUP=$MYGROUP SCRIPT_PID=$SCRIPT_PID NUM_CPUS=$NUM_CPUS \ + TEST_NUM=$TEST_NUM TASK_NUM=$TASK_NUM ./cpuctl_task_$TASK_NUM \ + >>$LTPROOT/output/cpuctl_results_$FILE.txt 2>/dev/null & + if [ $? -ne 0 ] + then + echo "Error: Could not run ./cpuctl_task_$TASK_NUM" + cleanup; + exit -1; + else + PID[$TASK_NUM]=$!; + fi; + j=`expr $j + 1` + done; # end j loop + i=`expr $i + 1` + done; # end i loop + else + echo "Source file not compiled..Plz check Makefile...Exiting test" + cleanup; + exit -1; + fi; + TOTAL_TASKS=$TASK_NUM; + ;; * ) usage; Index: cpuctl_test04.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/controllers/cpuctl/cpuctl_test04.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** cpuctl_test04.c 28 Feb 2008 14:41:52 -0000 1.1 --- cpuctl_test04.c 28 Feb 2008 14:44:47 -0000 1.2 *************** *** 28,32 **** /* fairness for share values (absolute). */ /* */ ! /* Total Tests: 1 */ /* */ /* Test Name: cpu_controller_test04 */ --- 28,32 ---- /* fairness for share values (absolute). */ /* */ ! /* Total Tests: 2 */ /* */ /* Test Name: cpu_controller_test04 */ *************** *** 63,67 **** extern int Tst_count; char *TCID = "cpu_controller_test06"; ! int TST_TOTAL = 1; pid_t scriptpid; extern void --- 63,67 ---- extern int Tst_count; char *TCID = "cpu_controller_test06"; ! int TST_TOTAL = 2; pid_t scriptpid; extern void *************** *** 107,111 **** task_num_p = getenv("TASK_NUM"); /* Check if all of them are valid */ ! if ((test_num_p != NULL) && (((test_num = atoi(test_num_p)) <= 4) && ((test_num =atoi(test_num_p)) >= 1))) { if ((group_num_p != NULL) && (mygroup_p != NULL) && \ --- 107,111 ---- task_num_p = getenv("TASK_NUM"); /* Check if all of them are valid */ ! if ((test_num_p != NULL) && (((test_num = atoi(test_num_p)) <= 5) && ((test_num =atoi(test_num_p)) >= 4))) { if ((group_num_p != NULL) && (mygroup_p != NULL) && \ *************** *** 134,138 **** strcat (mysharesfile,"/cpu.shares"); /* Need some technique so as only 1 task per grp writes to shares file */ ! write_to_file (mysharesfile, "w", mygroup_shares); /* Write the shares of the group*/ write_to_file (mytaskfile, "a", getpid()); /* Assign the task to it's group*/ --- 134,140 ---- strcat (mysharesfile,"/cpu.shares"); /* Need some technique so as only 1 task per grp writes to shares file */ ! if (test_num == 4) ! write_to_file (mysharesfile, "w", mygroup_shares); /* Write the shares of the group*/ ! write_to_file (mytaskfile, "a", getpid()); /* Assign the task to it's group*/ *************** *** 171,175 **** mytime = (delta_cpu_time * 100) / (TIME_INTERVAL * num_cpus); ! fprintf (stdout,"Group-%3d(Shares-%4u) task_num:%3d cpu time--> %6.3f\%(%6.3fs)\tinterval:%lu\n", mygroup_num, mygroup_shares, task_num, mytime, delta_cpu_time, delta_time); counter++; --- 173,177 ---- mytime = (delta_cpu_time * 100) / (TIME_INTERVAL * num_cpus); ! fprintf (stdout,"Group-%3d:Shares-%4u: task_num:%3d cpu time--> %6.3f\%(%6.3fs)\tinterval:%lu\n", mygroup_num, mygroup_shares, task_num, mytime, delta_cpu_time, delta_time); counter++; *************** *** 182,185 **** --- 184,190 ---- exit (0); /* This task is done with its job*/ break; + case 5: + exit (0); /* This task is done with its job*/ + break; default: tst_brkm (TBROK, cleanup, "Invalid test number passed\n"); |