Bug 183391 - clock-test.sh broken on 64cpus
clock-test.sh broken on 64cpus
Status: CLOSED ERRATA
Product: Red Hat Ready Certification Tests
Classification: Retired
Component: rhr2-externals (Show other bugs)
2
All Linux
medium Severity medium
: ---
: ---
Assigned To: Will Woods
Will Woods
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-02-28 15:02 EST by Doug Chapman
Modified: 2007-04-18 13:38 EDT (History)
1 user (show)

See Also:
Fixed In Version: RHBA-2006-0278
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-05-08 09:40:56 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
suggestion for replacement of clock-test.sh (1.39 KB, text/plain)
2006-03-01 11:36 EST, Doug Chapman
no flags Details
updated clocktest.c (1.89 KB, text/plain)
2006-03-01 17:15 EST, Doug Chapman
no flags Details
modified clocktest.c (2.54 KB, text/plain)
2006-03-02 14:34 EST, Will Woods
no flags Details

  None (edit)
Description Doug Chapman 2006-02-28 15:02:49 EST
Description of problem:

The clock-test.sh test from the CORE2 suite is breaks when it hits the 54'th
CPU.  It appears the actual bug may be in the taskset utility.  I will
investigate more deeply but am filing this now as documentation.


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. try taskset with 2^54 (bitmask with 54th bit set) on 64 bit system
2.taskset 18014398509481984 echo hello
3.
  
Actual results:

sched_setaffinity: Invalid argument


Expected results:


Additional info:
Comment 1 Doug Chapman 2006-02-28 15:30:06 EST
Looks like the best fix for the test (avoid what appears to be a taskset bug and
also make for a much cleaner script) is to change clock-test.sh

old:
cur_time=$(/usr/bin/taskset $((2**$cpu)) bash -c "$nanotime")


new:
cur_time=$(/usr/bin/taskset -c $cpu bash -c "$nanotime")


I have another test running now so I cannot verify there are no other issues yet
but I will ASAP.

- Doug
Comment 2 Will Woods 2006-02-28 16:20:09 EST
Unfortunately the -c option to taskset is not available in RHEL3, but we can use
this for RHEL4. 

This is only a problem for RHEL3 if we support more than 32 cpus there. I will
investigate that.
Comment 3 Doug Chapman 2006-03-01 11:36:05 EST
I am attaching a suggestion for the replacement of the clock-test.sh script. 
This is a C program that should be more accurate.  The test runs much faster
since it does not require a "sleep" between each iteration.  This allows it to
see if the clocks accross the system are mostly in-sync at the same time.

It will need some cleaning up before being used as a real test.  Mostly it will
need to be generalized for more than 64 cpus.  I have run this on my 64cpu ia64
system.

Comment 4 Doug Chapman 2006-03-01 11:36:57 EST
Created attachment 125479 [details]
suggestion for replacement of clock-test.sh
Comment 5 Doug Chapman 2006-03-01 17:15:17 EST
Created attachment 125502 [details]
updated clocktest.c

Updated to use clock_gettime instead of gettimeofday as suggested by wwoods. 
Note that this must be compiled with -lrt since clock_gettime lives in the
real-time lib.
Comment 6 Will Woods 2006-03-02 14:34:50 EST
Created attachment 125560 [details]
modified clocktest.c

This is a modified clocktest.c that can be built on RHEL3. It also checks all
processors on each pass, and calculates the jitter as the difference between
the minimum and maximum time value found. Does this work on your system?
Comment 9 Red Hat Bugzilla 2006-05-08 09:39:48 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2006-0284.html
Comment 10 Red Hat Bugzilla 2006-05-08 09:40:57 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2006-0278.html

Note You need to log in before you can comment on or make changes to this bug.