From: Subrata Modak <[email protected]> Subject: Re: [LTP] [PATCH] pselect01 & nanosleep02: Warnings about Syscall Execution Time Date: Mon, 16 Mar 2009 14:03:08 +0530
> Hi, > > On Fri, 2009-03-13 at 13:36 +0800, CAI Qian wrote: >> Hi, >> >> This patch addes warnings in pselect01 and nanosleep02 test cases that >> the certain failures may due to the limitation of the way it calculates >> the system call execution time. For example, in pselect01 test case, >> >> start = time(&t); >> retval = pselect(0, &readfds, NULL, NULL, (struct timespec *)&tv,NULL); >> end = time(&t); >> >> /* Changed total_sec compare to an at least vs an exact compare */ >> >> if(((end - start) >= total_sec) && ((end - start) <= total_sec + 1)) >> tst_resm(TPASS,"Sleep time was correct"); >> else >> tst_resm(TFAIL,"Sleep time was incorrect:%d != %d",total_sec,(end - >> start)); >> } >> >> "end - start" is not the actual syscall execution time. It could sleep >> a little bit more, and the task can be preempted before >> "end = time(&t)". "end - start" maybe even bigger if the system is under >> load. >> >> In addition, looks like pselect01_64 test case does not exist anymore, >> so I have removed it from the runtest file. Is it correct? >> >> Signed-off-by: CAI Qian <[email protected]> >> >> --- runtest/syscalls.orig 2009-03-12 22:18:35.000000000 +0800 >> +++ runtest/syscalls 2009-03-13 13:32:45.000000000 +0800 >> @@ -700,7 +700,6 @@ >> profil01 profil01 >> >> pselect01 pselect01 >> -pselect01_64 pselect01_64 > > Not sure whey these should be removed, when i see it build/install/run > properly. > You are correct. Thanks, CAI Qian >> >> ptrace01 ptrace01 >> ptrace02 ptrace02 >> --- testcases/kernel/syscalls/pselect/pselect01.c.orig 2009-03-12 >> 22:19:50.000000000 +0800 >> +++ testcases/kernel/syscalls/pselect/pselect01.c 2009-03-13 >> 13:33:03.000000000 +0800 >> @@ -129,9 +129,13 @@ >> /* Changed total_sec compare to an at least vs an exact compare */ >> >> if(((end - start) >= total_sec) && ((end - start) <= total_sec + 1)) >> - tst_resm(TPASS,"Sleep time was correct"); >> - else >> - tst_resm(TFAIL,"Sleep time was incorrect:%d != %d",total_sec,(end - >> start)); >> + tst_resm(TPASS,"Sleep time was correct"); >> + else { >> + tst_resm(TWARN,"This test could fail if the system was under load"); >> + tst_resm(TWARN,"due to the limitation of the way it calculates the"); >> + tst_resm(TWARN,"system call execution time."); >> + tst_resm(TFAIL,"Sleep time was incorrect:%d != %d",total_sec,(end - >> start)); >> + } >> } >> cleanup(); >> return 0; >> --- testcases/kernel/syscalls/nanosleep/nanosleep02.c.orig 2009-03-12 >> 22:29:44.000000000 +0800 >> +++ testcases/kernel/syscalls/nanosleep/nanosleep02.c 2009-03-13 >> 13:32:56.000000000 +0800 >> @@ -214,6 +214,9 @@ >> elapsed = (ntime.tv_sec - otime.tv_sec) * 1000000 + ntime.tv_usec - >> otime.tv_usec; >> >> if (rem - (req - elapsed) > USEC_PRECISION) { >> + tst_resm(TWARN,"This test could fail if the system was under >> load"); >> + tst_resm(TWARN,"due to the limitation of the way it >> calculates the"); >> + tst_resm(TWARN,"system call execution time."); >> tst_resm(TFAIL, "Remaining sleep time %lu usec doesn't " >> "match with the expected %lu usec time", >> rem, (req - elapsed)); >> @@ -255,6 +258,9 @@ >> req = timereq.tv_sec * 1000000 + timereq.tv_nsec / 1000; >> elapsed = (ntime.tv_sec - otime.tv_sec) * 1000000 + >> ntime.tv_usec - otime.tv_usec; >> if (elapsed - req > USEC_PRECISION) { >> + tst_resm(TWARN,"This test could fail if the system was >> under load"); >> + tst_resm(TWARN,"due to the limitation of the way it >> calculates the"); >> + tst_resm(TWARN,"system call execution time."); >> tst_resm(TFAIL, "Child execution not " >> "suspended for %d seconds %lu nanoseconds", >> timereq.tv_sec, timereq.tv_nsec); > > However, these changes are fine and hence merged. > > Regards-- > Subrata > >> >> ------------------------------------------------------------------------------ >> Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are >> powering Web 2.0 with engaging, cross-platform capabilities. Quickly and >> easily build your RIAs with Flex Builder, the Eclipse(TM)based development >> software that enables intelligent coding and step-through debugging. >> Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com >> _______________________________________________ >> Ltp-list mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/ltp-list > ------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
