Bug 684227
Summary: | Update RHEL 6 System Tap Beginners Guide futexes.stp example script to account for FUTEX_PRIVATE_FLAG | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Kim van der Riet <kim.vdriet> | ||||
Component: | systemtap | Assignee: | Frank Ch. Eigler <fche> | ||||
Status: | CLOSED ERRATA | QA Contact: | qe-baseos-tools-bugs | ||||
Severity: | low | Docs Contact: | |||||
Priority: | low | ||||||
Version: | 6.3 | CC: | mjw, pmuller, wcohen | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | systemtap-1.6-1.el6 | Doc Type: | Bug Fix | ||||
Doc Text: |
Cause
RHEL6 kernels have additional futex flags, FUTEX_PRIVATE_FLAG and
FUTEX_CLOCK_REALTIME in the syscall.futex $op argument.
Consequence
Without filtering out FUTEX_PRIVATE_FLAG and
FUTEX_CLOCK_REALTIME the script does not record data on RHEL6.
Fix
The futexes.stp added filtering for FUTEX_PRIVATE_FLAG and
FUTEX_CLOCK_REALTIME.
Result
The futexes.stp example now runs correctly on RHEL6.
|
Story Points: | --- | ||||
Clone Of: | Environment: | ||||||
Last Closed: | 2011-12-06 15:17:42 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Kim van der Riet
2011-03-11 14:31:14 UTC
Current script is at: http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/SystemTap_Beginners_Guide/futexcontentionsect.html Created attachment 483740 [details]
Modified script
The attached script works ok on RHEL 6 (although it is likely not very elegantly written and can be cleaned up).
Kim, Are you sure that the example shouldn't mask off the PRIVATE flag, as in if ((op & ~FUTEX_PRIVATE_FLAG) != FUTEX_WAIT) next; I agree, that is probably a more correct implementation. upstream commits c085f1feb2 and 148d3a367 should correct this. Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause RHEL6 kernels have additional futex flags, FUTEX_PRIVATE_FLAG and FUTEX_CLOCK_REALTIME in the syscall.futex $op argument. Consequence Without filtering out FUTEX_PRIVATE_FLAG and FUTEX_CLOCK_REALTIME the script does not record data on RHEL6. Fix The futexes.stp added filtering for FUTEX_PRIVATE_FLAG and FUTEX_CLOCK_REALTIME. Result The futexes.stp example now runs correctly on RHEL6. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2011-1517.html |