Oh yes. I also noticed this behavior and it stands Ok after the patch. Applied.
I am really thrilled to see lots of LTP patches coming from your organization to LTP as well as to LKML. It would also be nice if you could also share some of your test cases under GPLv2 to LTP. Regards-- Subrata On Tue, 2008-06-03 at 13:17 +0800, Li Zefan wrote: > time-schedule01 failed, because it sent SIGTERM to itself before > program exited, so the return value is not 0. > > This patch makes the main process ignore SIGTERM. > > before patching: > --------------------- > # ./time-schedule > Started 0 hog processes > Number of yields: 23727 > Syscall overhead: 0.7 us > Num switches during overhead check: 0 > Minimum scheduling latency: 0.3 (-0.4) us > Median scheduling latency: 0.3 (922337203685477632.0) us > Average scheduling latency: 0.3 (-0.4) us > Maximum scheduling latency: 0.8 (0.1) us > Run queue size: 2, 3 > Terminated > # echo $? > 143 > > after patching: > --------------------- > # ./time-schedule > Started 0 hog processes > Number of yields: 23624 > Syscall overhead: 0.7 us > Num switches during overhead check: 0 > Minimum scheduling latency: 0.3 (-0.4) us > Median scheduling latency: 0.3 (922337203685477632.0) us > Average scheduling latency: 0.3 (-0.4) us > Maximum scheduling latency: 0.8 (0.1) us > Run queue size: 2, 2 > # echo $? > 0 > > Signed-off-by: Li Zefan <[EMAIL PROTECTED]> > --- > time-schedule.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > --- ltp-full-20080430.orig/testcases/kernel/sched/tool/time-schedule.c > 2008-05-08 09:55:54.000000000 +0800 > +++ ltp-full-20080430/testcases/kernel/sched/tool/time-schedule.c > 2008-06-03 13:11:40.000000000 +0800 > @@ -109,6 +109,7 @@ int main (int argc, char **argv) > double dcount = 0.0; > unsigned long diffs[MAX_ITERATIONS]; > struct timeval before, after; > + sigset_t set; > static char *usage = > "time-schedule [-h] [-thread] [-notest] [-pipe] [-fpu] > [num_running]"; > > @@ -271,8 +272,13 @@ int main (int argc, char **argv) > use_fpu_value (dcount); > if (use_threads) fprintf (stderr, "Number of yields: %u\n", num_yields); > if (num_switches > 0) fprintf (stderr, "Num switches: > %lu\n",num_switches); > - /* Finish up */ > - kill (0, SIGTERM); > + > + /* Terminate all child processes */ > + sigemptyset (&set); > + sigaddset (&set, SIGTERM); > + sigprocmask (SIG_BLOCK, &set, NULL); > + > + kill(0, SIGTERM); > return (0); > } /* End Function main */ > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Ltp-list mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/ltp-list ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
