| Summary: | numa_all_cpus_ptr reports the wrong thing when bound to cpu0 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Travis Gummels <tgummels> | ||||||
| Component: | numactl | Assignee: | Petr Holasek <pholasek> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | qe-baseos-daemons | ||||||
| Severity: | medium | Docs Contact: | |||||||
| Priority: | medium | ||||||||
| Version: | 6.2 | CC: | asersen, azelinka, dhoward, mpoole, woodard | ||||||
| Target Milestone: | rc | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | numactl-2.0.7-4.el6 | Doc Type: | Bug Fix | ||||||
| Doc Text: |
Cause:
global pointer numa_all_cpus_ptr contained all possible CPU0 when taskset was set to cpu 0.
Consequence:
Wrong condition in code parsing /proc/self/stat
Fix:
Codepath fixed.
Result:
numa_all_cpus_ptr contains only specified CPUs, when taskset contains cpu 0.
|
Story Points: | --- | ||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2013-02-21 10:11:27 UTC | Type: | Bug | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Bug Depends On: | |||||||||
| Bug Blocks: | 782183, 787802, 840699 | ||||||||
| Attachments: |
|
||||||||
|
Description
Travis Gummels
2012-04-19 14:27:59 UTC
Created attachment 578663 [details]
Reproducer
gcc -o t -lnuma t.c
Created attachment 578665 [details]
Proposed Patch
commit 346e427204fba80e86d6ebd8965610b89dc5c7d6
Author: Mark A. Grondona <mgrondona>
Date: Tue Mar 27 15:51:28 2012 -0700
libnuma: fix numa_all_cpus_ptr when bound to cpu0
A bug in the test for invalid maxproccpu leads to resetting the
numa_all_cpus_ptr mask when the cpu affinity mask of the current
task only contains CPU0. This leads to numa_all_cpus_ptr having
all CPUs instead of just one.
Fix the test to be < 0 instead of <= 0 -- 0 is a valid CPU number.
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-2013-0401.html |