|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2404 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 2404.
Report 2404 Actions
Problem Report Number 2404 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.1243 Raised 2004-06-23 00:27 Updated 2004-06-25 19:52 Published 2004-06-25 19:52 Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03) Certification Program The Open Brand certification program Test Suite VSU version 5.2.5 Test Identification CAPI.os/procprim/getitimer/T.getitimer 2
CAPI.os/procprim/getitimer/T.getitimer 3Specification Base Definitions Issue 6 Linked Problem Reports 2402 Problem Summary Tests uses lower granularity time function for verifying success. Problem Text The problems with these assertions is that getitimer() is a
high-resolution timestamp which measures time in nanoseconds. However,
the times() system call, which is normalized to ticks, has less
precision than using high-resolution timestamps.
For implementations which have microstate accounting enabled, the lwps'
timing statistics are adjusted as a lwp runs and changes its state.
Previously lwp timing statistics were updated as part of the clock()
interrupt and clock_tick() processing. A thread would only get its time
statistics updated if it were caught by clock, similarly its itimer
count would get bumped as well. With microstate accounting, the
statistics are generated in more accurate fashion, yet the ITIMER_PROF
and ITIMER_VIRTUAL timers still get updated by the clock.
The test expects to see exactly 342 (360 - 18) seconds before it
recieves the appropriate signal. However, now the process accrues time
differently, yet its timer gets decremented only when it is processed
for clock_tick().
These tests should take into account the fact that ITIMER_VIRTUAL and
ITIMER_PROF are driven by the clock_tick() processing in the clock()
interrupt and have some huerisitc to accept that it may take more time
than the set interval to recieve the signal.Test Output
************************************************************************
/tset/CAPI.os/procprim/getitimer/T.getitimer 2 Failed
Test Description:
Base Required Conformance
A call to int getitimer(int which, struct itimerval *value) when
which
is ITIMER_VIRTUAL shall store the current value of the
ITIMER_VIRTUAL
timer into the structure pointed to by value and return 0.
Test Information:
PREP: Open a temporary scratch file
PREP: Set the ITIMER_VIRTUAL timer to a known value.
PREP: Loop in the program for arbitrary time.
Perform dummy I/O on temporary scratch file.
PREP: Obtain the ITIMER_VIRTUAL timer through getitimer().
TEST: getitimer() returns the correct timer value
timer value = original timer set - time elapsed
ERROR: Invalid value returned by getitimer()
Expecting: (360.000000 - 18.000000) approx Received:
344.340000
************************************************************************
****************************************************************************************************************
/tset/CAPI.os/procprim/getitimer/T.getitimer 3 Failed
Test Description:
Base Required Conformance
A successful call to int getitimer(int which, struct itimerval
*value)
when which is ITIMER_PROF shall store the current value of the
ITIMER_PROF timer into the structure pointed to by value and
return 0.
Test Information:
PREP: Open a temporary scratch file
PREP: Set the ITIMER_PROF timer to a known value.
PREP: Loop in the program for arbitrary time.
Perform dummy I/O on temporary scratch file.
PREP: Obtain the ITIMER_PROF timer through getitimer().
TEST: getitimer() returns the correct timer value
timer value = original timer set - time elapsed
ERROR: Invalid value returned by getitimer()
Expecting: (360.000000 - 18.000000) approx Received:
344.830000
****************************************************************************************************************Review Information
Review Type TSMA Review Start Date 2004-06-23 00:27 Last Updated 2004-06-25 00:01 Completed 2004-06-25 00:01 Status Complete Review Recommendation Test Suite Deficiency (TSD) Review Response It does seem that these tests are making an unwarranted assumption about
the relationship between ITIMER_VIRTUAL and User CPU time, and between
ITIMER_PROF and total CPU time. Since the specification for getitimer()
uses the term "process virtual time" instead of mentioning CPU time, an
implementation that uses different time-accounting methods for
getitimer() and times() would appear to be allowed.
Review Type SA Review Start Date 2004-06-24 23:01 Last Updated 2004-06-25 02:10 Completed 2004-06-25 02:10 Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion This PR is an agreed test suite deficiency.
Problem Reporting System Options:
- View Report 2404
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority