Red Hat Bugzilla – Bug 845968
numatune command can't handle nodeset with '^' for excluding a node
Last modified: 2013-02-21 02:21:15 EST
Description of problem: When use numatune command to set nodeset with '^' for excluding a node,the following error occurs.And it also can be reproduced in libvirt-0.9.13-2.el6.x86_64. It can pass with "\^" , but there isn't any records about it. error: Unable to change numa parameters error: unable to set numa tunable: Invalid argument Quote from man virsh nodeset is a list of numa nodes used by the host for running the domain. Its syntax is a comma separated list, with ’-’ for ranges and ’^’ for excluding a node. Version-Release number of selected component (if applicable): libvirt-0.10.0-0rc0.el6.x86_64 qemu-kvm-0.12.1.2-2.295.el6.x86_64 numad-0.5-4.20120522git.el6.x86_64 kernel-2.6.32-279.el6.x86_64 How reproducible: Steps to Reproduce: 1. numactl --hardware available: 8 nodes (0-7) 2.# virsh numatune rhel6q numa_mode : strict numa_nodeset : 1 3.virsh numatune rhel6q --nodeset 0-5,^2 error: Unable to change numa parameters error: unable to set numa tunable: Invalid argument Actual results: error: Unable to change numa parameters error: unable to set numa tunable: Invalid argument Expected results: The numatuen is able to set the nodesetwith '^' for excluding a node. Additional info:
commit 29d8ed7a61a9bf5d971a3111b226474384384bfc Author: Osier Yang <jyang@redhat.com> Date: Thu Aug 16 11:35:04 2012 +0800 qemu: Ensure the cpuset is formatted as expected before passing to cgroup The parameter value for cpuset could be in special format like "0-10,^7", which is not recognized by cgroup. This patch is to ensure the cpuset is formatted as expected before passing it to cgroup. As a side effect, after the patch, it parses the cpuset early before cgroup setting, to avoid the rollback if cpuset parsing fails afterwards.
# rpm -q libvirt libvirt-0.10.0-0rc1.el6.x86_64 steps: # virsh list --all Id Name State ---------------------------------------------------- 1 libvirt_test_api running # virsh numatune libvirt_test_api numa_mode : strict numa_nodeset : 1 # virsh numatune libvirt_test_api --nodeset 0-2,^1 # virsh numatune libvirt_test_api numa_mode : strict numa_nodeset : 0,2 This is working now.
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/RHSA-2013-0276.html