Bugzilla – Bug 116399
numactl --cpubind and --show do not seem to match
Last modified: 2006-11-29 14:42:27 UTC
This bug is about one of two things, and I don't know (yet), which one it is, or whether there are in fact two. The output of numactl --show refers to "nodebind", however the man page does not mention this concept (unlike cpubind or membind) and the output of numactl does not provide information on membind (if these two are indeed not the same). If the are the same, there seems to be a problem in displaying the result. For the two example below, I would have expected the output for "nodebind" and "membind" to be the same in both cases. (I hope I'm not missing something trivial here?) gp@reger:~> numactl --cpubind=0 --membind=0 --show ls policy: bind preferred node: 0 interleavemask: interleavenode: 0 nodebind: 0 1 membind: 0 gp@reger:~> numactl --cpubind=1 --membind=1 --show ls policy: bind preferred node: 1 interleavemask: interleavenode: 0 nodebind: membind: 1
(is bugzilla for support requests now?) cpus are cpus and nodes are nodes but they're not the same.
Let me try again. The command-line options are called "--membind" and "--cpubind", respectively, which stand for "use memory on node(s)" and "use CPUs on node(s)". On the other hand, the output of the "--show" option refers to "membind" and "nodebind". Since memory is memory, CPUs are CPUs, and nodes can contain either memory, or CPUs, or both, something does not seem consistent here. Or I'm just misreading the documentation, in which case I'd like to understand that and help improve that documentation. The man page has the concepts of binding memory and/or CPUs in specific nodes, the output of --show has the concepts of binding binding memory and or entire nodes, but not CPUs?
--cpubind binds nodes, not CPUs. That causes some confusion. I clarified all this in SLES10 and there are separate options for cpus and node bind now because too many people got confused.
Verified, thanks!