Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2
numactl
numactl-hardware-bits_per_long_cpus.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File numactl-hardware-bits_per_long_cpus.diff of Package numactl
From: Arnd Bergmann <arnd@arndb.de> To: Cliff Wickman <cpw@sgi.com> Subject: [PATCH] fix output of numactl --hardware with >BITS_PER_LONG cpus Date: Wed, 28 Jan 2009 17:41:16 +0100 Cc: linux-numa@vger.kernel.org, hannsj_uhl@de.ibm.com, wmb@us.ibm.com There was evidently a glitch in the conversion of numactl to libnuma2: The print_node_cpus function tries to find the size of the bitmask, which it no longer needs to. This results in printing only the first word of the CPU mask. This fixes the function to print all available CPUs again. Found by Bill Buros on a 128-way 64 bit system. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- numactl.c | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) --- a/numactl.c +++ b/numactl.c @@ -199,28 +199,16 @@ static void print_distances(int maxnode) void print_node_cpus(int node) { - int len = 1; int conf_cpus = numa_num_configured_cpus(); + int i, err; + struct bitmask *cpus; - for (;;) { - int i, err; - struct bitmask *cpus; - - cpus = numa_bitmask_alloc(conf_cpus); - errno = 0; - err = numa_node_to_cpus(node, cpus); - if (err < 0) { - if (errno == ERANGE) { - len *= 2; - continue; - } - break; - } - for (i = 0; i < len*BITS_PER_LONG; i++) + cpus = numa_bitmask_alloc(conf_cpus); + err = numa_node_to_cpus(node, cpus); + if (err >= 0) + for (i = 0; i < conf_cpus; i++) if (numa_bitmask_isbitset(cpus, i)) printf(" %d", i); - break; - } putchar('\n'); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor