Description of problem: tuna (beta) under RHEL6.0 won't set cpu affinity on released RHEL6.0 kernel. Version-Release number of selected component (if applicable): RHEL6.0 kernel. How reproducible: 100% once you have enough cpu cores (threshold still unknown). Steps to Reproduce: 1. 'tuna --cpus=1 --threads=$$ --move' 2. 3. Actual results: Will report an error. taskset will confirm the processor affinity mask is not set correctly. Expected results: Should move the thread correctly. Additional info:
Matt, What does the error say?
Just a few more questions in addition to the one in comment#1, a) When you use--threads=$$, it means that $$ is replaced by a real pid? b) When using taskset, I presume you used 'taskset -p $PID' c) Would 'grep Cpus_allowed: /proc/$PID/status' return the same value? d) Which version of tuna did you try this on? From which repository?
This issue was fixed by Clark Williams with an ad-hoc patch to the python-linux-procfs packags.
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: python-schedutils couldn't handle more than 64 cores * Consequence: failed to set cpu affintiy on 80 core system * Fix: dynamically allocate cpu_set_t data structures * Result: successfully set cpu affinity on large core systems
python-schedutils-0.3-1.el6rt
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1,4 +1 @@ -* Cause: python-schedutils couldn't handle more than 64 cores +Previously, the Linux scheduler bindings provided by the python-schedutils package were unable to set the CPU affinity on systems with more than 64 cores. With this update, the package was modified to dynamically allocate the required space, allowing the CPU affinity to be successfully set on large core systems.-* Consequence: failed to set cpu affintiy on 80 core system -* Fix: dynamically allocate cpu_set_t data structures -* Result: successfully set cpu affinity on large core systems
Verified by testing tuna according to comment #0. No issues found on RHEL6.1. [root@mrg39 ~]# rpm -q python-schedutils tuna python-schedutils-0.3-1.el6rt.x86_64 tuna-0.10.1-2.el6rt.noarch Tried to reproduce the issues using an older python-schedutils (0.2-2), but was not able to reproduce it. This was tested on a quad socket quad core box.
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 therefore 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/RHEA-2011-0894.html