OBS User unknown 2007-01-15 23:27:07 +00:00 committed by Git OBS Bridge
commit 1c083e7156
11 changed files with 555 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
numactl-0.9.6.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4545b13f71a1397bdb63fe85129921360acfebb3375053950c763c43c6163d05
size 45051

26
numactl-node-to-cpus Normal file
View File

@ -0,0 +1,26 @@
diff -urp numactl-0.9.6/libnuma.c numactl/libnuma.c
--- numactl-0.9.6/libnuma.c 2006-05-23 23:20:56.000000000 +0200
+++ numactl/libnuma.c 2006-03-28 00:17:05.000000000 +0200
@@ -493,16 +493,12 @@ int numa_node_to_cpus(int node, unsigned
/* if mask[0] is full shift left before adding another */
if (bits_in_mask_0 >= sizeof(mask[0])*8) {
- /* skip any leading zeros */
- if (prev || mask[0]){
- /* shift over any previously loaded masks */
- memmove(mask+mask_words+1, mask+mask_words,
- sizeof(mask[0]) * mask_words);
- mask_words++;
- bits_in_mask_0 = 0;
- mask[0] = 0;
- prev = 1;
- }
+ /* shift over any previously loaded masks */
+ mask_words++;
+ for (n = mask_words; n > 0; n--)
+ memmove(mask+n, mask+n-1, sizeof(mask[0]));
+ bits_in_mask_0 = 0;
+ mask[0] = 0;
}
mask[0] = (mask[0]*16) + (w - hexdigits);

111
numactl-number-of-cpus Normal file
View File

@ -0,0 +1,111 @@
--- numactl-0.9.8/libnuma.c 2006-04-04 05:52:26.000000000 +0200
+++ numactl/libnuma.c 2006-06-08 11:50:19.000000000 +0200
@@ -118,58 +118,26 @@
static int maxnode = -1;
static int maxcpus = -1;
-static int number_of_cpus(void)
+static int number_of_configured_cpus(void)
{
- char *line = NULL;
- size_t len = 0;
- char *s;
- FILE *f;
- int cpu;
+ int len = 16;
+ int n;
if (maxcpus >= 0)
return maxcpus + 1;
- f = fopen("/proc/cpuinfo","r");
- if (!f) {
- int n;
- int len = 8192;
- for (;;) {
- unsigned long buffer[CPU_LONGS(len)];
- memset(buffer, 0, sizeof(buffer));
- n = numa_sched_getaffinity_int(0, CPU_BYTES(len),
- buffer);
- if (n < 0 && errno == EINVAL && len < 1024*1024) {
- len *= 2;
- continue;
- }
- if (n >= 0) {
- int i, k;
- for (i = 0; i < n / sizeof(long); i++) {
- if (!buffer[i])
- continue;
- for (k = 0; k< 8; k++)
- if (buffer[i] & (1<<k))
- maxcpus = i*sizeof(long)+k;
- }
- return maxcpus;
- }
- break;
- }
- numa_warn(W_noproc, "/proc not mounted. Assuming zero nodes: %s",
- strerror(errno));
- return 0;
- }
- maxcpus = 0;
- while (getdelim(&line, &len, '\n', f) > 0) {
- if (strncmp(line,"processor",9))
+ do {
+ unsigned long buffer[CPU_LONGS(len)];
+ memset(buffer, 0, sizeof(buffer));
+ n = numa_sched_getaffinity_int(0, CPU_BYTES(len), buffer);
+ if (n < 0 && errno == EINVAL) {
+ if (len >= 1024*1024)
+ break;
+ len *= 2;
continue;
- s = line + strcspn(line, "0123456789");
- if (sscanf(s, "%d", &cpu) == 1 && cpu > maxcpus)
- maxcpus = cpu;
- }
- free(line);
- fclose(f);
- return maxcpus + 1;
+ }
+ } while (n < 0);
+ return len;
}
static int fallback_max_node(void)
@@ -440,7 +408,7 @@
int n;
int buflen_needed;
unsigned long *mask, prev;
- int ncpus = number_of_cpus();
+ int ncpus = number_of_configured_cpus();
int i;
int mask_words;
int bits_in_mask_0;
@@ -528,7 +496,7 @@
int numa_run_on_node_mask(const nodemask_t *mask)
{
- int ncpus = number_of_cpus();
+ int ncpus = number_of_configured_cpus();
int i, k, err;
unsigned long cpus[CPU_LONGS(ncpus)], nodecpus[CPU_LONGS(ncpus)];
memset(cpus, 0, CPU_BYTES(ncpus));
@@ -582,7 +550,7 @@
nodemask_t numa_get_run_node_mask(void)
{
- int ncpus = number_of_cpus();
+ int ncpus = number_of_configured_cpus();
nodemask_t mask;
int i, k;
int max = numa_max_node_int();
@@ -612,7 +580,7 @@
int numa_run_on_node(int node)
{
- int ncpus = number_of_cpus();
+ int ncpus = number_of_configured_cpus();
unsigned long cpus[CPU_LONGS(ncpus)];
if (node == -1)

20
numactl-save-errno Normal file
View File

@ -0,0 +1,20 @@
--- numactl/libnuma.c~ 2006-06-08 11:50:19.000000000 +0200
+++ numactl/libnuma.c 2006-06-08 16:57:12.000000000 +0200
@@ -122,7 +122,8 @@
{
int len = 16;
int n;
-
+ int olde = errno;
+
if (maxcpus >= 0)
return maxcpus + 1;
@@ -137,6 +138,7 @@
continue;
}
} while (n < 0);
+ errno = olde;
return len;
}

25
numactl-zero Normal file
View File

@ -0,0 +1,25 @@
diff -Naurp numactl-0.9.6/libnuma.c numactl-0.9.6-fix/libnuma.c
--- numactl-0.9.6/libnuma.c 2006-03-28 03:28:09.000000000 -0500
+++ numactl-0.9.6-fix/libnuma.c 2006-03-30 11:23:33.000000000 -0500
@@ -491,12 +491,17 @@ int numa_node_to_cpus(int node, unsigned
goto out;
}
+ /* skip any leading zeros */
+ if (!prev && !(w - hexdigits))
+ continue;
+ prev = 1;
+
/* if mask[0] is full shift left before adding another */
if (bits_in_mask_0 >= sizeof(mask[0])*8) {
/* shift over any previously loaded masks */
+ memmove(mask+mask_words+1, mask+mask_words,
+ sizeof(mask[0]) * mask_words);
mask_words++;
- for (n = mask_words; n > 0; n--)
- memmove(mask+n, mask+n-1, sizeof(mask[0]));
bits_in_mask_0 = 0;
mask[0] = 0;
}

33
numactl-zero-fix Normal file
View File

@ -0,0 +1,33 @@
diff -Naurp numactl-0.9.7-orig/libnuma.c numactl-0.9.7-fix/libnuma.c
--- numactl-0.9.7-orig/libnuma.c 2006-03-30 12:27:29.000000000 -0500
+++ numactl-0.9.7-fix/libnuma.c 2006-03-30 16:31:13.000000000 -0500
@@ -491,19 +491,18 @@ int numa_node_to_cpus(int node, unsigned
goto out;
}
- /* skip any leading zeros */
- if (!prev && !(w - hexdigits))
- continue;
- prev = 1;
-
/* if mask[0] is full shift left before adding another */
if (bits_in_mask_0 >= sizeof(mask[0])*8) {
- /* shift over any previously loaded masks */
- memmove(mask+mask_words+1, mask+mask_words,
- sizeof(mask[0]) * mask_words);
- mask_words++;
- bits_in_mask_0 = 0;
- mask[0] = 0;
+ /* skip any leading zeros */
+ if (prev || mask[0]){
+ /* shift over any previously loaded masks */
+ memmove(mask+mask_words+1, mask+mask_words,
+ sizeof(mask[0]) * mask_words);
+ mask_words++;
+ bits_in_mask_0 = 0;
+ mask[0] = 0;
+ prev = 1;
+ }
}
mask[0] = (mask[0]*16) + (w - hexdigits);

163
numactl.changes Normal file
View File

@ -0,0 +1,163 @@
-------------------------------------------------------------------
Thu Jun 8 17:04:54 CEST 2006 - ak@suse.de
- Save/restore errno correctly (#182158)
-------------------------------------------------------------------
Thu Jun 8 11:59:32 CEST 2006 - ak@suse.de
- Fix cpu buffer sizing for affinity syscalls (#182145)
-------------------------------------------------------------------
Tue May 23 23:22:30 CEST 2006 - ak@suse.de
- Fix cpumap parsing again (#177749)
-------------------------------------------------------------------
Thu Mar 30 19:17:22 CEST 2006 - ak@suse.de
- Fix the cpumap parsing fix to not corrupt memory (still #161089)
-------------------------------------------------------------------
Tue Mar 28 10:33:00 CEST 2006 - ak@suse.de
- Update to 0.9.6: (#161089)
* consolidates earlier changes
* fix migrate pages error handling
* add numa_maps manpage
* fix cpumap parsing on large systems
* some build fixes
-------------------------------------------------------------------
Thu Mar 23 21:37:24 CET 2006 - ak@suse.de
- Don't install syscall manpages which are in the normal
manpages now (#158550)
-------------------------------------------------------------------
Sun Feb 12 22:45:34 CET 2006 - ak@suse.de
- Install migratepages manpage (followon for #143825)
-------------------------------------------------------------------
Wed Feb 8 12:41:06 CET 2006 - ak@suse.de
- Add support for page migration (#143825)
-------------------------------------------------------------------
Wed Jan 25 21:45:04 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Wed Jan 4 21:24:14 CET 2006 - ak@suse.de
- Update to numactl 0.9.1 to fix ppc32 build.
-------------------------------------------------------------------
Tue Jan 3 21:40:11 CET 2006 - ak@suse.de
- Update to numactl 0.9
-------------------------------------------------------------------
Mon Dec 19 08:52:45 CET 2005 - ak@suse.de
- Update to numactl 0.8
-------------------------------------------------------------------
Fri Dec 16 12:05:26 CET 2005 - ro@suse.de
- do not build as root
-------------------------------------------------------------------
Mon Oct 10 23:09:58 CEST 2005 - ak@suse.de
- use RPM_OPT_FLAGS
- fix build on ia64 with debuginfo package
-------------------------------------------------------------------
Mon Oct 10 10:57:36 CEST 2005 - ak@suse.de
- Fix includes in manpages (#72853)
- Fix buffer length calculation (#118980)
-------------------------------------------------------------------
Wed Apr 27 12:04:33 CEST 2005 - jplack@suse.de
- override broken calculation of libdir in Makefile by using
%{_libdir} rpm macro (#75249). Now it builds on ppc also.
-------------------------------------------------------------------
Mon Apr 25 18:26:27 CEST 2005 - jplack@suse.de
- added numactl-LDPS1255-ppc (#75249 - LTC14536)
-------------------------------------------------------------------
Tue Apr 5 20:31:55 CEST 2005 - ak@suse.de
- Fix manpages (#72835, #65944)
- Fix thread handling with NPTL (#64496)
-------------------------------------------------------------------
Mon Nov 22 17:50:42 CET 2004 - ak@suse.de
- Fix C++ compilation (#45796)
-------------------------------------------------------------------
Tue Sep 7 15:43:47 CEST 2004 - ak@suse.de
- Fix numa_node_to_cpus on big machines (#44433)
-------------------------------------------------------------------
Wed Jun 16 03:27:52 CEST 2004 - ak@suse.de
- Fix --cpubind on kernels with large NR_CPUS (#42041)
-------------------------------------------------------------------
Sat Jun 5 20:32:23 CEST 2004 - ak@suse.de
- update to 0.6.4:
* add copyright headers for GPL and LGPL (#41685)
- Add requires to perl for numastat
-------------------------------------------------------------------
Thu May 20 20:26:10 CEST 2004 - ak@suse.de
- update to 0.6.3:
* fix cpu map parsing with large number of CPUs (#40820)
-------------------------------------------------------------------
Tue May 11 15:25:04 CEST 2004 - ak@suse.de
- update to 0.6.2:
* fix numademo to use STREAM
* make headers C++ clean
* some other bug fixes.
* add preliminary i386 syscalls
-------------------------------------------------------------------
Sun Apr 4 16:22:14 CEST 2004 - ak@suse.de
- compile on ia64 too
-------------------------------------------------------------------
Thu Apr 1 20:43:27 CEST 2004 - ak@suse.de
- update to 0.6 final. fix a few bugs in numactl and libnuma and
work on IA64 too
-------------------------------------------------------------------
Mon Mar 22 18:10:29 CET 2004 - ak@suse.de
- update to 0.6pre.
-------------------------------------------------------------------
Mon May 19 09:35:53 CEST 2003 - ak@suse.de
- update to numactl-0.3. add libnuma and new manpages. add numademo.
-------------------------------------------------------------------
Wed May 7 15:39:48 CEST 2003 - ak@suse.de
- package written and created

150
numactl.spec Normal file
View File

@ -0,0 +1,150 @@
#
# spec file for package numactl (Version 0.9.6)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: numactl
License: GPL
Summary: NUMA Policy Control
Version: 0.9.6
Release: 5
Autoreqprov: on
Source: numactl-%version.tar.gz
Patch0: numactl-zero
Patch1: numactl-zero-fix
Patch2: numactl-node-to-cpus
Patch3: numactl-number-of-cpus
Patch4: numactl-save-errno
Group: System/Management
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: ia64 x86_64 ppc64 ppc
Requires: perl
%description
Control NUMA policy for individual processes. Offer libnuma for
individual NUMA policy in applications.
Authors:
--------
Andi Kleen (ak@suse.de)
%prep
%setup
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build
make CFLAGS="${RPM_OPT_FLAGS}"
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/share/man/man2
install -d -m 755 $RPM_BUILD_ROOT/usr/bin
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man8
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man3
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man5
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}
install -d -m 755 $RPM_BUILD_ROOT/usr/include
make prefix=${RPM_BUILD_ROOT}/usr install
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc %{_mandir}/man8/*
%doc %{_mandir}/man3/*
%doc %{_mandir}/man5/*
/usr/bin/*
%{_libdir}/lib*
/usr/include/*
%changelog -n numactl
* Thu Jun 08 2006 - ak@suse.de
- Save/restore errno correctly (#182158)
* Thu Jun 08 2006 - ak@suse.de
- Fix cpu buffer sizing for affinity syscalls (#182145)
* Tue May 23 2006 - ak@suse.de
- Fix cpumap parsing again (#177749)
* Thu Mar 30 2006 - ak@suse.de
- Fix the cpumap parsing fix to not corrupt memory (still #161089)
* Tue Mar 28 2006 - ak@suse.de
- Update to 0.9.6: (#161089)
* consolidates earlier changes
* fix migrate pages error handling
* add numa_maps manpage
* fix cpumap parsing on large systems
* some build fixes
* Thu Mar 23 2006 - ak@suse.de
- Don't install syscall manpages which are in the normal
manpages now (#158550)
* Sun Feb 12 2006 - ak@suse.de
- Install migratepages manpage (followon for #143825)
* Wed Feb 08 2006 - ak@suse.de
- Add support for page migration (#143825)
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Jan 04 2006 - ak@suse.de
- Update to numactl 0.9.1 to fix ppc32 build.
* Tue Jan 03 2006 - ak@suse.de
- Update to numactl 0.9
* Mon Dec 19 2005 - ak@suse.de
- Update to numactl 0.8
* Fri Dec 16 2005 - ro@suse.de
- do not build as root
* Mon Oct 10 2005 - ak@suse.de
- use RPM_OPT_FLAGS
- fix build on ia64 with debuginfo package
* Mon Oct 10 2005 - ak@suse.de
- Fix includes in manpages (#72853)
- Fix buffer length calculation (#118980)
* Wed Apr 27 2005 - jplack@suse.de
- override broken calculation of libdir in Makefile by using
%%{_libdir} rpm macro (#75249). Now it builds on ppc also.
* Mon Apr 25 2005 - jplack@suse.de
- added numactl-LDPS1255-ppc (#75249 - LTC14536)
* Tue Apr 05 2005 - ak@suse.de
- Fix manpages (#72835, #65944)
- Fix thread handling with NPTL (#64496)
* Mon Nov 22 2004 - ak@suse.de
- Fix C++ compilation (#45796)
* Tue Sep 07 2004 - ak@suse.de
- Fix numa_node_to_cpus on big machines (#44433)
* Wed Jun 16 2004 - ak@suse.de
- Fix --cpubind on kernels with large NR_CPUS (#42041)
* Sat Jun 05 2004 - ak@suse.de
- update to 0.6.4:
* add copyright headers for GPL and LGPL (#41685)
- Add requires to perl for numastat
* Thu May 20 2004 - ak@suse.de
- update to 0.6.3:
* fix cpu map parsing with large number of CPUs (#40820)
* Tue May 11 2004 - ak@suse.de
- update to 0.6.2:
* fix numademo to use STREAM
* make headers C++ clean
* some other bug fixes.
* add preliminary i386 syscalls
* Sun Apr 04 2004 - ak@suse.de
- compile on ia64 too
* Thu Apr 01 2004 - ak@suse.de
- update to 0.6 final. fix a few bugs in numactl and libnuma and
work on IA64 too
* Mon Mar 22 2004 - ak@suse.de
- update to 0.6pre.
* Mon May 19 2003 - ak@suse.de
- update to numactl-0.3. add libnuma and new manpages. add numademo.
* Wed May 07 2003 - ak@suse.de
- package written and created

0
ready Normal file
View File