Bug 814294
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: | |||||||
Embargoed: | |||||||||
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 |