Updated numactl packages that fix several bugs and add one enhancement are now available for Red Hat Enterprise Linux 6.
The numactl packages provide a simple Non-Uniform Memory Access (NUMA) policy support and consist of the numactl program to run other programs with a specific NUMA policy and the libnuma library to do allocations in applications using the NUMA policy.
- Previously, the number of CPUs were miscalculated in the "/sys/devices/system/cpu" directory, because the "cpufreq" and "cpuidle" files were counted, so, the additional two CPUs were added erroneously. With this update, the number of CPUs is now counted correctly.
- The global pointer "numa_all_cpus_ptr" was supposed to be set to a bitmask allocated by the library with bits that represent all CPUs on which the calling thread can execute. Consequently, it did not function as documented when the bitmask was only set to CPU0. With this update, the underlying source code is now fixed and the "numa_all_cpus_ptr" contains only specified CPUs, when the taskset option contains CPU0.
- The existing tool numastat, which was a Perl script, was rewritten to a C program to provide much more NUMA information. The default operation of numastat will remain the same for compatibility with current users' end scripts.
Users of numactl are advised to upgrade to these updated packages, which fix these bugs and add this enhancement.