Hello community, here is the log from the commit of package numactl for openSUSE:Factory checked in at Sun Oct 3 22:38:31 CEST 2010. -------- --- numactl/numactl.changes 2010-06-21 19:14:41.000000000 +0200 +++ /mounts/work_src_done/STABLE/numactl/numactl.changes 2010-10-03 09:55:42.000000000 +0200 @@ -1,0 +2,7 @@ +Sun Oct 3 07:47:48 UTC 2010 - aj@suse.de + +- Update to 2.0.5: + * Remove merged patch numactl_fix_mem_corrup_numa_init.patch + * Various bug fixes. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- numactl-2.0.4-rc2.tar.bz2 numactl_fix_mem_corrup_numa_init.patch New: ---- numactl-2.0.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ numactl.spec ++++++ --- /var/tmp/diff_new_pack.DjFnEi/_old 2010-10-03 22:37:44.000000000 +0200 +++ /var/tmp/diff_new_pack.DjFnEi/_new 2010-10-03 22:37:44.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package numactl (Version 2.0.4.rc2) +# spec file for package numactl (Version 2.0.5) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -22,9 +22,9 @@ Name: numactl License: GPLv2+ Summary: NUMA Policy Control -Version: 2.0.4.rc2 +Version: 2.0.5 Release: 1 -%define origversion 2.0.4-rc2 +%define origversion 2.0.5 AutoReqProv: on # bug437293 %ifarch ppc64 @@ -34,7 +34,6 @@ Source: numactl-%{origversion}.tar.bz2 Source2: baselibs.conf Patch0: numactl_install_all_manpages -Patch1: numactl_fix_mem_corrup_numa_init.patch Group: System/Management BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: ia64 x86_64 ppc64 ppc %sparc @@ -66,9 +65,8 @@ individual NUMA policy in applications. %prep -%setup -n %{name}-%{origversion} +%setup -q -n %{name}-%{origversion} %patch0 -p1 -%patch1 -p1 %build make %{?jobs:-j%jobs} CFLAGS="${RPM_OPT_FLAGS}" ++++++ numactl-2.0.4-rc2.tar.bz2 -> numactl-2.0.5.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/CHANGES new/numactl-2.0.5/CHANGES --- old/numactl-2.0.4-rc2/CHANGES 2010-04-09 14:25:48.000000000 +0200 +++ new/numactl-2.0.5/CHANGES 2010-07-28 18:52:12.000000000 +0200 @@ -300,9 +300,21 @@ 2.0.3 released in June, 2009 -2.0.4-rc1 +2.0.4-rc3 - Fix numactl for a machine with sparse cpu ids (Anton Blanchard) - Fix makefile to remove move_pages on make clean (Andi) - Fix numa_node_to_cpus() (Sharyathi Nagesh) - Rename 'thread' to 'task' (L.S.) - Remove other trailing spaces (Cliff) +- Man page correction/clarification for numa_node_to_cpus() (Ian Wienand) +- Man page clarification for numactl (Mike MacCana) +- Fix numactl --hardware for cpu-less nodes (Thomas Renninger) +- Fix set_configured_cpus() (Jan Beulich) +- Fix memory corrupting use of strlen (Jan Beulich) +- Add a DSO destructor for memory deallocation (Neil Horman) + +2.0.4 released in July, 2010 + +2.0.5 released in July, 2010 (about 2 days after 2.0.4) +- Fix numactl calls to set_mempolicy, get_mempolicy and mbind + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/Makefile new/numactl-2.0.5/Makefile --- old/numactl-2.0.4-rc2/Makefile 2010-04-09 14:25:48.000000000 +0200 +++ new/numactl-2.0.5/Makefile 2010-07-28 18:52:12.000000000 +0200 @@ -82,7 +82,7 @@ libnuma.so.1: versions.ldscript libnuma.so.1: libnuma.o syscall.o distance.o - ${CC} ${LDFLAGS} -shared -Wl,-soname=libnuma.so.1 -Wl,--version-script,versions.ldscript -Wl,-init,numa_init -o libnuma.so.1 $(filter-out versions.ldscript,$^) + ${CC} ${LDFLAGS} -shared -Wl,-soname=libnuma.so.1 -Wl,--version-script,versions.ldscript -Wl,-init,numa_init -Wl,-fini,numa_fini -o libnuma.so.1 $(filter-out versions.ldscript,$^) libnuma.so: libnuma.so.1 ln -sf libnuma.so.1 libnuma.so diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/README new/numactl-2.0.5/README --- old/numactl-2.0.4-rc2/README 2010-04-09 14:25:48.000000000 +0200 +++ new/numactl-2.0.5/README 2010-07-28 18:52:12.000000000 +0200 @@ -31,7 +31,7 @@ It also uses a public domain Mersenne Twister implementation from Michael Brundage. -Version 2.0.3-rc1: (C) 2008 SGI +Version 2.0.4: (C)2010 SGI Author: Andi Kleen, SUSE Labs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/libnuma.c new/numactl-2.0.5/libnuma.c --- old/numactl-2.0.4-rc2/libnuma.c 2010-04-09 14:25:48.000000000 +0200 +++ new/numactl-2.0.5/libnuma.c 2010-07-28 18:52:12.000000000 +0200 @@ -54,8 +54,6 @@ static unsigned long *node_cpu_mask_v1[NUMA_NUM_NODES]; struct bitmask **node_cpu_mask_v2; -char *nodes_allowed_list = NULL; - WEAK void numa_error(char *where); #ifdef __thread @@ -95,6 +93,17 @@ memset(&numa_no_nodes, 0, sizeof(numa_no_nodes)); } +void +numa_fini(void) +{ + if (numa_all_cpus_ptr) + numa_bitmask_free(numa_all_cpus_ptr); + if (numa_all_nodes_ptr) + numa_bitmask_free(numa_all_nodes_ptr); + if (numa_no_nodes_ptr) + numa_bitmask_free(numa_no_nodes_ptr); +} + /* * The following bitmask declarations, bitmask_*() routines, and associated * _setbit() and _getbit() routines are: @@ -249,19 +258,19 @@ static void setpol(int policy, struct bitmask *bmp) { - if (set_mempolicy(policy, bmp->maskp, bmp->size) < 0) + if (set_mempolicy(policy, bmp->maskp, bmp->size + 1) < 0) numa_error("set_mempolicy"); } static void getpol(int *oldpolicy, struct bitmask *bmp) { - if (get_mempolicy(oldpolicy, bmp->maskp, bmp->size, 0, 0) < 0) + if (get_mempolicy(oldpolicy, bmp->maskp, bmp->size + 1, 0, 0) < 0) numa_error("get_mempolicy"); } static void dombind(void *mem, size_t size, int pol, struct bitmask *bmp) { - if (mbind(mem, size, pol, bmp ? bmp->maskp : NULL, bmp ? bmp->size : 0, + if (mbind(mem, size, pol, bmp ? bmp->maskp : NULL, bmp ? bmp->size + 1 : 0, mbind_flags) < 0) numa_error("mbind"); } @@ -460,12 +469,6 @@ maxprocnode = read_mask(mask, numa_all_nodes_ptr); } - if (strncmp(buffer,"Mems_allowed_list:",18) == 0) { - nodes_allowed_list = malloc(strlen(buffer)-18); - strncpy(nodes_allowed_list, buffer + 19, - strlen(buffer) - 19); - nodes_allowed_list[strlen(nodes_allowed_list)-1] = '\0'; - } } fclose(f); free(buffer); @@ -533,7 +536,6 @@ static void set_configured_cpus(void) { - int filecount=0; char *dirnamep = "/sys/devices/system/cpu"; struct dirent *dirent; DIR *dir; @@ -545,15 +547,19 @@ return; } while ((dirent = readdir(dir)) != 0) { - if (!strncmp("cpu", dirent->d_name, 3)) { - filecount++; - } else { - continue; + if (dirent->d_type == DT_DIR + && !strncmp("cpu", dirent->d_name, 3)) { + long cpu = strtol(dirent->d_name + 3, NULL, 10); + + if (cpu < INT_MAX && cpu > maxconfiguredcpu) + maxconfiguredcpu = cpu; } } closedir(dir); - maxconfiguredcpu = filecount-1; /* high cpu number */ - return; + if (maxconfiguredcpu < 0) { + /* fall back to using the online cpu count */ + maxconfiguredcpu = sysconf(_SC_NPROCESSORS_CONF) - 1; + } } /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/numa.3 new/numactl-2.0.5/numa.3 --- old/numactl-2.0.4-rc2/numa.3 2010-04-09 14:25:48.000000000 +0200 +++ new/numactl-2.0.5/numa.3 2010-07-28 18:52:12.000000000 +0200 @@ -114,7 +114,7 @@ .br .BI "int numa_sched_setaffinity(pid_t " pid ", struct bitmask *" mask ); .br -.BI "int numa_node_to_cpus(int " node ", unsigned long *" buffer ", int " bufferlen ); +.BI "int numa_node_to_cpus(int " node ", struct bitmask *" mask "); .br .BI "int numa_node_of_cpu(int " cpu "); .sp @@ -726,8 +726,9 @@ .BR numa_bitmask_setbit(). .BR numa_node_to_cpus () -converts a node number to a bitmask of CPUs. The user must pass a long enough -buffer. If the buffer is not long enough +converts a node number to a bitmask of CPUs. The user must pass a bitmask +structure with a mask buffer long enough to represent all possible cpu's. +Use numa_allocate_cpumask() to create it. If the bitmask is not long enough .I errno will be set to .I ERANGE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/numa.h new/numactl-2.0.5/numa.h --- old/numactl-2.0.4-rc2/numa.h 2010-04-09 14:25:48.000000000 +0200 +++ new/numactl-2.0.5/numa.h 2010-07-28 18:52:12.000000000 +0200 @@ -161,8 +161,6 @@ /* Source compatibility */ extern nodemask_t numa_no_nodes; -extern char *nodes_allowed_list; - /* Only run and allocate memory from a specific set of nodes. */ void numa_bind(struct bitmask *nodes); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/numactl.8 new/numactl-2.0.5/numactl.8 --- old/numactl-2.0.4-rc2/numactl.8 2010-04-09 14:25:48.000000000 +0200 +++ new/numactl-2.0.5/numactl.8 2010-07-28 18:52:12.000000000 +0200 @@ -117,7 +117,7 @@ .I process on .I cpus. -This accepts physical cpu numbers as shown in the +This accepts cpu numbers as shown in the .I processor fields of .I /proc/cpuinfo, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/numactl.c new/numactl-2.0.5/numactl.c --- old/numactl-2.0.4-rc2/numactl.c 2010-04-09 14:25:48.000000000 +0200 +++ new/numactl-2.0.5/numactl.c 2010-07-28 18:52:12.000000000 +0200 @@ -205,27 +205,20 @@ cpus = numa_allocate_cpumask(); err = numa_node_to_cpus(node, cpus); - if (err >= 0) + if (err >= 0) { for (i = 0; i < cpus->size; i++) if (numa_bitmask_isbitset(cpus, i)) printf(" %d", i); + } putchar('\n'); } void hardware(void) { - int i, numconfigurednodes=0; + int i; int maxnode = numa_num_configured_nodes()-1; - for (i = 0; i<=maxnode; i++) - if (numa_bitmask_isbitset(numa_all_nodes_ptr, i)) - numconfigurednodes++; - if (nodes_allowed_list) - printf("available: %d nodes (%s)\n", - numconfigurednodes, nodes_allowed_list); - else - printf("available: %d nodes (0-%d)\n", maxnode+1, maxnode); - + printf("available: %d nodes (0-%d)\n", 1+maxnode, maxnode); for (i = 0; i <= maxnode; i++) { char buf[64]; long long fr; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/releases/2.0.4 new/numactl-2.0.5/releases/2.0.4 --- old/numactl-2.0.4-rc2/releases/2.0.4 1970-01-01 01:00:00.000000000 +0100 +++ new/numactl-2.0.5/releases/2.0.4 2010-07-28 18:52:12.000000000 +0200 @@ -0,0 +1,25 @@ +patches in this release: + +0908_ab_numactl +Anton Blanchard libnuma: Fix issue with numactl --hardware on sparse cpumaps +0912_ak_patch +Andi Kleen Fix make clean for tests in numactl-2.0.4-rc1 +1001_sn_nodetocpus +Sharyathi Nagesh Fix to numa_node_to_cpus_v2 +1004_ls_tasknaming +Lee Schermerhorn Fix libnuma numa_num_{task vs thread}_{cpu|node}s() naming disc +repancy +1004_cw_spaces +Cliff Wickman removed trailing spaces +1002_iw_nodetocpus +Ian Wienand correct and clarify the numa_node_to_cpus() man page +1002_mm_cputerms +Mike MacCana Correct terminology. ('physical cpus') +1006_jb_configured_cpus +Jan Beulich libnuma: enumerate CPUs correctly +1006_jb_strlen +Jan Beulich libnuma: fix memory corruption +1005_tr_numactl_hardware +Thomas Renninger Fix CPUless nodes numactl --hardware output +0908_nh_dsodestructor +Neil Horman libnuma: introduce DSO destructor to free allocated memory diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/releases/2.0.5 new/numactl-2.0.5/releases/2.0.5 --- old/numactl-2.0.4-rc2/releases/2.0.5 1970-01-01 01:00:00.000000000 +0100 +++ new/numactl-2.0.5/releases/2.0.5 2010-07-28 18:52:12.000000000 +0200 @@ -0,0 +1,5 @@ +patches in this release: + +0007_ak_numactl +Andi Kleen - Fix numactl calls to set_mempolicy, get_mempolicy and mbind +(this was found about 1 day after the 2.0.4 release) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/versions.ldscript new/numactl-2.0.5/versions.ldscript --- old/numactl-2.0.4-rc2/versions.ldscript 2010-04-09 14:25:48.000000000 +0200 +++ new/numactl-2.0.5/versions.ldscript 2010-07-28 18:52:12.000000000 +0200 @@ -144,7 +144,6 @@ numa_tonode_memory; numa_tonodemask_memory; numa_warn; - nodes_allowed_list; local: *; } libnuma_1.1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/numactl-2.0.4-rc2/x new/numactl-2.0.5/x --- old/numactl-2.0.4-rc2/x 2010-04-09 14:25:48.000000000 +0200 +++ new/numactl-2.0.5/x 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -quilt add bitops.h -quilt add clearcache.h -quilt add int.h -quilt add mt.h -quilt add numa.h -quilt add numacompat1.h -quilt add numaif.h -quilt add numaint.h -quilt add shm.h -quilt add stream_lib.h -quilt add util.h ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org