basebuilder_pel7ppc64bebuilder0
7 years ago
7 changed files with 893 additions and 0 deletions
@ -0,0 +1,50 @@ |
|||||||
|
From 32075635db57c3d5efe12f8fb569af857e01ccad Mon Sep 17 00:00:00 2001 |
||||||
|
From: Petr Holasek <pholasek@redhat.com> |
||||||
|
Date: Wed, 14 Jan 2015 09:53:47 +0100 |
||||||
|
Subject: [PATCH] libnuma: add check for return value of numa_node_to_cpus |
||||||
|
|
||||||
|
When numa_node_to_cpu() has been called on machine with non-contiguous |
||||||
|
nodes, it returned the first node which wasn't present on machine. |
||||||
|
Now, return code is checked and code skips over non-existing nodes to |
||||||
|
the right one. |
||||||
|
|
||||||
|
Also, caching of numa_node_to_cpus_v2() result while non-zero error had |
||||||
|
been returned was disabled. |
||||||
|
|
||||||
|
Signed-off-by: Petr Holasek <pholasek@redhat.com> |
||||||
|
|
||||||
|
Tested by Cliff Wickman (on attica.sgi.com) |
||||||
|
--- |
||||||
|
libnuma.c | 13 ++++++++++--- |
||||||
|
1 file changed, 10 insertions(+), 3 deletions(-) |
||||||
|
|
||||||
|
diff -up numactl-2.0.9/libnuma.c.orig numactl-2.0.9/libnuma.c |
||||||
|
--- numactl-2.0.9/libnuma.c.orig 2013-10-08 23:34:57.000000000 +0200 |
||||||
|
+++ numactl-2.0.9/libnuma.c 2015-07-01 15:14:44.937178134 +0200 |
||||||
|
@@ -1380,8 +1380,12 @@ numa_node_to_cpus_v2(int node, struct bi |
||||||
|
if (mask != buffer) |
||||||
|
numa_bitmask_free(mask); |
||||||
|
} else { |
||||||
|
- node_cpu_mask_v2[node] = mask; |
||||||
|
- } |
||||||
|
+ /* we don't want to cache faulty result */ |
||||||
|
+ if (!err) |
||||||
|
+ node_cpu_mask_v2[node] = mask; |
||||||
|
+ else |
||||||
|
+ numa_bitmask_free(mask); |
||||||
|
+ } |
||||||
|
return err; |
||||||
|
} |
||||||
|
__asm__(".symver numa_node_to_cpus_v2,numa_node_to_cpus@@libnuma_1.2"); |
||||||
|
@@ -1403,7 +1407,10 @@ int numa_node_of_cpu(int cpu) |
||||||
|
bmp = numa_bitmask_alloc(ncpus); |
||||||
|
nnodes = numa_max_node(); |
||||||
|
for (node = 0; node <= nnodes; node++){ |
||||||
|
- numa_node_to_cpus_v2_int(node, bmp); |
||||||
|
+ if (numa_node_to_cpus_v2_int(node, bmp) < 0) { |
||||||
|
+ /* It's possible for the node to not exist */ |
||||||
|
+ continue; |
||||||
|
+ } |
||||||
|
if (numa_bitmask_isbitset(bmp, cpu)){ |
||||||
|
ret = node; |
||||||
|
goto end; |
@ -0,0 +1,130 @@ |
|||||||
|
From b608687037d873ad82d6318f231b3d6612e8601d Mon Sep 17 00:00:00 2001 |
||||||
|
From: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com> |
||||||
|
Date: Wed, 21 Dec 2016 12:48:11 +0530 |
||||||
|
Subject: [PATCH 1/1] Segment fault when numa nodes not sequential or |
||||||
|
contiguous |
||||||
|
|
||||||
|
While trying to get stat of the guest process (configured with hugepages), numastat fails |
||||||
|
|
||||||
|
==================== |
||||||
|
Environment details |
||||||
|
==================== |
||||||
|
Linux lep8b 4.8.0-30-generic #32-Ubuntu SMP Fri Dec 2 03:43:46 UTC 2016 ppc64le ppc64le ppc64le GNU/Linu |
||||||
|
|
||||||
|
===== |
||||||
|
Issue |
||||||
|
===== |
||||||
|
2016-12-14 07:02:56,396 process L0368 INFO | Running 'numastat 61257' |
||||||
|
2016-12-14 07:02:56,402 process L0462 DEBUG| [stderr] *** Error in `numastat': double free or corruption (out): 0x00000100265005a0 *** |
||||||
|
2016-12-14 07:02:56,403 process L0462 DEBUG| [stdout] |
||||||
|
2016-12-14 07:02:56,403 process L0482 INFO | Command 'numastat 61257' finished with -6 after 0.00309896469116s |
||||||
|
2016-12-14 07:02:56,403 process L0462 DEBUG| [stdout] Per-node process memory usage (in MBs) for PID 61257 (qemu-system-ppc) |
||||||
|
2016-12-14 07:02:56,404 process L0462 DEBUG| [stderr] ======= Backtrace: ========= |
||||||
|
2016-12-14 07:02:56,404 process L0462 DEBUG| [stderr] /lib/powerpc64le-linux-gnu/libc.so.6(+0x86d54)[0x3fff9a736d54] |
||||||
|
2016-12-14 07:02:56,404 process L0462 DEBUG| [stderr] /lib/powerpc64le-linux-gnu/libc.so.6(+0x93c30)[0x3fff9a743c30] |
||||||
|
2016-12-14 07:02:56,404 process L0462 DEBUG| [stderr] /lib/powerpc64le-linux-gnu/libc.so.6(cfree+0x68)[0x3fff9a748218] |
||||||
|
2016-12-14 07:02:56,405 process L0462 DEBUG| [stderr] /lib/powerpc64le-linux-gnu/libc.so.6(fclose+0x1c8)[0x3fff9a727d68] |
||||||
|
2016-12-14 07:02:56,405 process L0462 DEBUG| [stderr] numastat(+0x7aa4)[0x401d7aa4] |
||||||
|
2016-12-14 07:02:56,405 process L0462 DEBUG| [stderr] numastat(+0x2388)[0x401d2388] |
||||||
|
2016-12-14 07:02:56,405 process L0462 DEBUG| [stderr] /lib/powerpc64le-linux-gnu/libc.so.6(+0x2291c)[0x3fff9a6d291c] |
||||||
|
2016-12-14 07:02:56,405 process L0462 DEBUG| [stderr] /lib/powerpc64le-linux-gnu/libc.so.6(__libc_start_main+0xb8)[0x3fff9a6d2b18] |
||||||
|
2016-12-14 07:02:56,405 process L0462 DEBUG| [stderr] ======= Memory map: ======== |
||||||
|
2016-12-14 07:02:56,405 process L0462 DEBUG| [stderr] 401d0000-401e0000 r-xp 00000000 08:92 40325510 /usr/bin/numastat |
||||||
|
2016-12-14 07:02:56,405 process L0462 DEBUG| [stderr] 401e0000-401f0000 r--p 00000000 08:92 40325510 /usr/bin/numastat |
||||||
|
2016-12-14 07:02:56,406 process L0462 DEBUG| [stderr] 401f0000-40200000 rw-p 00010000 08:92 40325510 /usr/bin/numastat |
||||||
|
2016-12-14 07:02:56,406 process L0462 DEBUG| [stderr] 10026500000-10026530000 rw-p 00000000 00:00 0 [heap] |
||||||
|
2016-12-14 07:02:56,406 process L0462 DEBUG| [stderr] 3fff9a6b0000-3fff9a860000 r-xp 00000000 08:92 25745199 /lib/powerpc64le-linux-gnu/libc-2.24.so |
||||||
|
2016-12-14 07:02:56,406 process L0462 DEBUG| [stderr] 3fff9a860000-3fff9a870000 ---p 001b0000 08:92 25745199 /lib/powerpc64le-linux-gnu/libc-2.24.so |
||||||
|
2016-12-14 07:02:56,406 process L0462 DEBUG| [stderr] 3fff9a870000-3fff9a880000 r--p 001b0000 08:92 25745199 /lib/powerpc64le-linux-gnu/libc-2.24.so |
||||||
|
2016-12-14 07:02:56,406 process L0462 DEBUG| [stderr] 3fff9a880000-3fff9a890000 rw-p 001c0000 08:92 25745199 /lib/powerpc64le-linux-gnu/libc-2.24.so |
||||||
|
2016-12-14 07:02:56,406 process L0462 DEBUG| [stderr] 3fff9a8b0000-3fff9a8c0000 rw-p 00000000 00:00 0 |
||||||
|
2016-12-14 07:02:56,407 process L0462 DEBUG| [stderr] 3fff9a8c0000-3fff9a8e0000 r-xp 00000000 00:00 0 [vdso] |
||||||
|
2016-12-14 07:02:56,407 process L0462 DEBUG| [stderr] 3fff9a8e0000-3fff9a920000 r-xp 00000000 08:92 25745195 /lib/powerpc64le-linux-gnu/ld-2.24.so |
||||||
|
2016-12-14 07:02:56,407 process L0462 DEBUG| [stderr] 3fff9a920000-3fff9a930000 r--p 00030000 08:92 25745195 /lib/powerpc64le-linux-gnu/ld-2.24.so |
||||||
|
2016-12-14 07:02:56,407 process L0462 DEBUG| [stderr] 3fff9a930000-3fff9a940000 rw-p 00040000 08:92 25745195 /lib/powerpc64le-linux-gnu/ld-2.24.so |
||||||
|
2016-12-14 07:02:56,407 process L0462 DEBUG| [stderr] 3fffdd320000-3fffdd350000 rw-p 00000000 00:00 0 [stack] |
||||||
|
|
||||||
|
============= |
||||||
|
Recreation Steps |
||||||
|
============= |
||||||
|
1. Configure host with hugepages |
||||||
|
2. Start a guest and attach following memory device xml, |
||||||
|
<?xml version='1.0' encoding='UTF-8'?> |
||||||
|
<memory model="dimm"><target><size unit="KiB">8388608</size><node>0</node></target><source><pagesize unit="KiB">16384</pagesize><nodemask>0</nodemask></source></memory> |
||||||
|
3. Set the rules in guest |
||||||
|
4. execute numastat of guest pid |
||||||
|
|
||||||
|
Expected Result : |
||||||
|
Provide PID numastat |
||||||
|
|
||||||
|
Per-node process memory usage (in MBs) for PID 55119 (qemu-system-ppc) |
||||||
|
Node 0 Node 1 Node 16 |
||||||
|
--------------- --------------- --------------- |
||||||
|
Huge 0.00 0.00 0.00 |
||||||
|
Heap 2.00 0.38 0.00 |
||||||
|
Stack 0.00 0.00 0.00 |
||||||
|
Private 31800.12 183.06 0.00 |
||||||
|
---------------- --------------- --------------- --------------- |
||||||
|
Total 31802.12 183.44 0.00 |
||||||
|
|
||||||
|
Node 17 Total |
||||||
|
--------------- --------------- |
||||||
|
Huge 0.00 0.00 |
||||||
|
Heap 0.00 15.25 |
||||||
|
Stack 0.00 0.06 |
||||||
|
Private 0.00 33169.31 |
||||||
|
---------------- --------------- --------------- |
||||||
|
Total 0.00 34345.00 |
||||||
|
*** Error in `numastat': free(): invalid next size (fast): 0x000001003f2c0580 *** |
||||||
|
======= Backtrace: ========= |
||||||
|
/lib/powerpc64le-linux-gnu/libc.so.6(+0x86d54)[0x3fff82866d54] |
||||||
|
/lib/powerpc64le-linux-gnu/libc.so.6(+0x93c30)[0x3fff82873c30] |
||||||
|
/lib/powerpc64le-linux-gnu/libc.so.6(cfree+0x68)[0x3fff82878218] |
||||||
|
numastat(+0x4244)[0x5adc4244] |
||||||
|
numastat(+0x7d24)[0x5adc7d24] |
||||||
|
numastat(+0x2388)[0x5adc2388] |
||||||
|
/lib/powerpc64le-linux-gnu/libc.so.6(+0x2291c)[0x3fff8280291c] |
||||||
|
/lib/powerpc64le-linux-gnu/libc.so.6(__libc_start_main+0xb8)[0x3fff82802b18] |
||||||
|
======= Memory map: ======== |
||||||
|
5adc0000-5add0000 r-xp 00000000 08:92 40325510 /usr/bin/numastat |
||||||
|
5add0000-5ade0000 r--p 00000000 08:92 40325510 /usr/bin/numastat |
||||||
|
5ade0000-5adf0000 rw-p 00010000 08:92 40325510 /usr/bin/numastat |
||||||
|
1003f2c0000-1003f2f0000 rw-p 00000000 00:00 0 [heap] |
||||||
|
3fff827e0000-3fff82990000 r-xp 00000000 08:92 25745199 /lib/powerpc64le-linux-gnu/libc-2.24.so |
||||||
|
3fff82990000-3fff829a0000 ---p 001b0000 08:92 25745199 /lib/powerpc64le-linux-gnu/libc-2.24.so |
||||||
|
3fff829a0000-3fff829b0000 r--p 001b0000 08:92 25745199 /lib/powerpc64le-linux-gnu/libc-2.24.so |
||||||
|
3fff829b0000-3fff829c0000 rw-p 001c0000 08:92 25745199 /lib/powerpc64le-linux-gnu/libc-2.24.so |
||||||
|
3fff829e0000-3fff829f0000 rw-p 00000000 00:00 0 |
||||||
|
3fff829f0000-3fff82a10000 r-xp 00000000 00:00 0 [vdso] |
||||||
|
3fff82a10000-3fff82a50000 r-xp 00000000 08:92 25745195 /lib/powerpc64le-linux-gnu/ld-2.24.so |
||||||
|
3fff82a50000-3fff82a60000 r--p 00030000 08:92 25745195 /lib/powerpc64le-linux-gnu/ld-2.24.so |
||||||
|
3fff82a60000-3fff82a70000 rw-p 00040000 08:92 25745195 /lib/powerpc64le-linux-gnu/ld-2.24.so |
||||||
|
3fffc3b90000-3fffc3bc0000 rw-p 00000000 00:00 0 [stack] |
||||||
|
Aborted |
||||||
|
|
||||||
|
Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com> |
||||||
|
Signed-off-by: Andi Kleen <ak@linux.intel.com> |
||||||
|
--- |
||||||
|
numastat.c | 7 ++++++- |
||||||
|
1 file changed, 6 insertions(+), 1 deletion(-) |
||||||
|
|
||||||
|
diff --git a/numastat.c b/numastat.c |
||||||
|
index 1924dba..e0a5639 100644 |
||||||
|
--- a/numastat.c |
||||||
|
+++ b/numastat.c |
||||||
|
@@ -1054,7 +1054,12 @@ void show_process_info() { |
||||||
|
} else { |
||||||
|
tmp_row = header_rows + pid_ix; |
||||||
|
} |
||||||
|
- int tmp_col = header_cols + node_num; |
||||||
|
+ // Don't assume nodes are sequential or contiguous. |
||||||
|
+ // Need to find correct tmp_col from node_ix_map |
||||||
|
+ int i = 0; |
||||||
|
+ while(node_ix_map[i++] != node_num) |
||||||
|
+ ; |
||||||
|
+ int tmp_col = header_cols + i - 1; |
||||||
|
double_addto(&table, tmp_row, tmp_col, value); |
||||||
|
double_addto(&table, tmp_row, total_col_ix, value); |
||||||
|
double_addto(&table, total_row_ix, tmp_col, value); |
||||||
|
-- |
||||||
|
2.14.0 |
@ -0,0 +1,59 @@ |
|||||||
|
From a69169698c4c086b7a74602938b329fb055fdf60 Mon Sep 17 00:00:00 2001 |
||||||
|
From: Petr Holasek <pholasek@redhat.com> |
||||||
|
Date: Mon, 7 Dec 2015 15:32:29 +0100 |
||||||
|
Subject: [PATCH] libnuma: supress warnings for non-existing node |
||||||
|
|
||||||
|
When calling numa_node_to_cpus on non-existing node number (e.g. for |
||||||
|
non-contiguous node numbers), a bit confusing warning is supressed. Since |
||||||
|
warnings are implemented as weak functions they cannot be overriden when |
||||||
|
using dlsym interface. |
||||||
|
|
||||||
|
Signed-off-by: Petr Holasek <pholasek@redhat.com> |
||||||
|
--- |
||||||
|
libnuma.c | 24 ++++++++++++++---------- |
||||||
|
1 file changed, 14 insertions(+), 10 deletions(-) |
||||||
|
|
||||||
|
diff --git a/libnuma.c b/libnuma.c |
||||||
|
index 3717d5b..549525c 100644 |
||||||
|
--- a/libnuma.c |
||||||
|
+++ b/libnuma.c |
||||||
|
@@ -1276,11 +1276,13 @@ numa_node_to_cpus_v1(int node, unsigned long *buffer, int bufferlen) |
||||||
|
sprintf(fn, "/sys/devices/system/node/node%d/cpumap", node); |
||||||
|
f = fopen(fn, "r"); |
||||||
|
if (!f || getdelim(&line, &len, '\n', f) < 1) { |
||||||
|
- numa_warn(W_nosysfs2, |
||||||
|
- "/sys not mounted or invalid. Assuming one node: %s", |
||||||
|
- strerror(errno)); |
||||||
|
- numa_warn(W_nosysfs2, |
||||||
|
- "(cannot open or correctly parse %s)", fn); |
||||||
|
+ if (numa_bitmask_isbitset(numa_nodes_ptr, node)) { |
||||||
|
+ numa_warn(W_nosysfs2, |
||||||
|
+ "/sys not mounted or invalid. Assuming one node: %s", |
||||||
|
+ strerror(errno)); |
||||||
|
+ numa_warn(W_nosysfs2, |
||||||
|
+ "(cannot open or correctly parse %s)", fn); |
||||||
|
+ } |
||||||
|
bitmask.maskp = (unsigned long *)mask; |
||||||
|
bitmask.size = buflen_needed * 8; |
||||||
|
numa_bitmask_setall(&bitmask); |
||||||
|
@@ -1355,11 +1357,13 @@ numa_node_to_cpus_v2(int node, struct bitmask *buffer) |
||||||
|
sprintf(fn, "/sys/devices/system/node/node%d/cpumap", node); |
||||||
|
f = fopen(fn, "r"); |
||||||
|
if (!f || getdelim(&line, &len, '\n', f) < 1) { |
||||||
|
- numa_warn(W_nosysfs2, |
||||||
|
- "/sys not mounted or invalid. Assuming one node: %s", |
||||||
|
- strerror(errno)); |
||||||
|
- numa_warn(W_nosysfs2, |
||||||
|
- "(cannot open or correctly parse %s)", fn); |
||||||
|
+ if (numa_bitmask_isbitset(numa_nodes_ptr, node)) { |
||||||
|
+ numa_warn(W_nosysfs2, |
||||||
|
+ "/sys not mounted or invalid. Assuming one node: %s", |
||||||
|
+ strerror(errno)); |
||||||
|
+ numa_warn(W_nosysfs2, |
||||||
|
+ "(cannot open or correctly parse %s)", fn); |
||||||
|
+ } |
||||||
|
numa_bitmask_setall(mask); |
||||||
|
err = -1; |
||||||
|
} |
||||||
|
-- |
||||||
|
2.4.3 |
@ -0,0 +1,17 @@ |
|||||||
|
diff -up numactl-2.0.8/numactl.8.orig numactl-2.0.8/numactl.8 |
||||||
|
--- numactl-2.0.8/numactl.8.orig 2013-08-19 18:09:06.810007252 +0200 |
||||||
|
+++ numactl-2.0.8/numactl.8 2013-08-19 18:09:36.746029049 +0200 |
||||||
|
@@ -153,7 +153,11 @@ A !N-N notation indicates the inverse of |
||||||
|
except N-N. If used with + notation, specify !+N-N. |
||||||
|
.TP |
||||||
|
.B \-\-localalloc, \-l |
||||||
|
-Always allocate on the current node. |
||||||
|
+Falls back to the system default which is local allocation by using |
||||||
|
+.I MPOL_DEFAULT |
||||||
|
+policy. See |
||||||
|
+.I mbind(2) |
||||||
|
+for details. |
||||||
|
.TP |
||||||
|
.B \-\-preferred=node |
||||||
|
Preferably allocate memory on |
||||||
|
diff -up numactl-2.0.8/numactl.8.orig.orig numactl-2.0.8/numactl.8.orig |
@ -0,0 +1,30 @@ |
|||||||
|
From: Elena Ufimtseva <ufimtseva@gmail.com> |
||||||
|
To: linux-numa@vger.kernel.org |
||||||
|
Cc: cpw@sgi.com, Elena Ufimtseva <ufimtseva@gmail.com> |
||||||
|
Subject: [PATCH] numactl: checks for numa when showing hardware |
||||||
|
Date: Sat, 23 Nov 2013 03:10:41 -0500 |
||||||
|
|
||||||
|
Checks if NUMA is available before printing hardware, |
||||||
|
otherwise segfault occurs. |
||||||
|
|
||||||
|
Signed-off-by: Elena Ufimtseva <ufimtseva@gmail.com> |
||||||
|
--- |
||||||
|
numactl.c | 5 +++++ |
||||||
|
1 files changed, 5 insertions(+), 0 deletions(-) |
||||||
|
|
||||||
|
diff --git a/numactl.c b/numactl.c |
||||||
|
index 97955a4..f30b53c 100755 |
||||||
|
--- a/numactl.c |
||||||
|
+++ b/numactl.c |
||||||
|
@@ -242,6 +242,11 @@ void hardware(void) |
||||||
|
int prevnode=-1; |
||||||
|
int skip=0; |
||||||
|
int maxnode = numa_max_node(); |
||||||
|
+ |
||||||
|
+ if (numa_available() < 0) { |
||||||
|
+ printf("No NUMA available on this system\n"); |
||||||
|
+ exit(1); |
||||||
|
+ } |
||||||
|
|
||||||
|
for (i=0; i<=maxnode; i++) |
||||||
|
if (numa_bitmask_isbitset(numa_nodes_ptr, i)) |
@ -0,0 +1,312 @@ |
|||||||
|
Date: Tue, 15 Jul 2014 13:53:14 -0400 |
||||||
|
From: Bill Gray <bgray@redhat.com> |
||||||
|
To: linux-numa@vger.kernel.org |
||||||
|
Cc: Cliff Wickman <cpw@sgi.com> |
||||||
|
Subject: [PATCH] Fix numactl --show preferred node for case MPOL_BIND |
||||||
|
|
||||||
|
This patch is mostly to fix an issue in "numactl --show" which did not |
||||||
|
print the correct preferred node: |
||||||
|
|
||||||
|
# for i in 0 1 2 3 4 5 6 7 ; do numactl -N$i -m$i numactl -s; done | |
||||||
|
grep preferred |
||||||
|
preferred node: 4 |
||||||
|
preferred node: 4 |
||||||
|
preferred node: 4 |
||||||
|
preferred node: 4 |
||||||
|
preferred node: 4 |
||||||
|
preferred node: 4 |
||||||
|
preferred node: 4 |
||||||
|
preferred node: 4 |
||||||
|
|
||||||
|
# for i in 0 1 2 3 4 5 6 7 ; do ./numactl -N$i -m$i ./numactl -s; done | |
||||||
|
grep preferred |
||||||
|
preferred node: 0 |
||||||
|
preferred node: 1 |
||||||
|
preferred node: 2 |
||||||
|
preferred node: 3 |
||||||
|
preferred node: 4 |
||||||
|
preferred node: 5 |
||||||
|
preferred node: 6 |
||||||
|
preferred node: 7 |
||||||
|
|
||||||
|
Patch Changes: |
||||||
|
- eliminated bitops.[cho] |
||||||
|
- eliminated redundant printcpumask() (which duplicated printmask()) |
||||||
|
- added find_first() to util.[ch] |
||||||
|
- fixed some compiler warnings |
||||||
|
|
||||||
|
These files can be deleted: |
||||||
|
- Only in numactl-2.0.9-orig/: bitops.c |
||||||
|
- Only in numactl-2.0.9-orig/: bitops.h |
||||||
|
- Only in numactl-2.0.9-orig/: numastat |
||||||
|
- Only in numactl-2.0.9-orig/test: move_pages |
||||||
|
|
||||||
|
diffstats: |
||||||
|
Makefile | 12 ++++++------ |
||||||
|
bitops.c | 13 ------------- |
||||||
|
bitops.h | 13 ------------- |
||||||
|
migspeed.c | 4 +--- |
||||||
|
numactl.c | 5 ++--- |
||||||
|
numaint.h | 2 +- |
||||||
|
test/move_pages |binary |
||||||
|
Makefile | 12 ++++++------ |
||||||
|
bitops.c | 13 ------------- |
||||||
|
bitops.h | 13 ------------- |
||||||
|
migspeed.c | 4 +--- |
||||||
|
numactl.c | 5 ++--- |
||||||
|
numaint.h | 2 +- |
||||||
|
test/nodemap.c | 1 - |
||||||
|
test/tbitmap.c | 10 +++++++++- |
||||||
|
util.c | 14 +++++--------- |
||||||
|
util.h | 2 +- |
||||||
|
10 files changed, 25 insertions(+), 51 deletions(-) |
||||||
|
|
||||||
|
Signed-off-by: Bill Gray <bgray@redhat.com> |
||||||
|
|
||||||
|
Index: numactl-dev/bitops.c |
||||||
|
=================================================================== |
||||||
|
--- numactl-dev.orig/bitops.c |
||||||
|
+++ /dev/null |
||||||
|
@@ -1,13 +0,0 @@ |
||||||
|
-#include "bitops.h" |
||||||
|
- |
||||||
|
-/* extremly dumb */ |
||||||
|
-int find_first_bit(void *m, int max) |
||||||
|
-{ |
||||||
|
- unsigned long *mask = m; |
||||||
|
- int i; |
||||||
|
- for (i = 0; i < max; i++) { |
||||||
|
- if (test_bit(i, mask)) |
||||||
|
- break; |
||||||
|
- } |
||||||
|
- return i; |
||||||
|
-} |
||||||
|
Index: numactl-dev/bitops.h |
||||||
|
=================================================================== |
||||||
|
--- numactl-dev.orig/bitops.h |
||||||
|
+++ /dev/null |
||||||
|
@@ -1,13 +0,0 @@ |
||||||
|
-#ifndef BITOPS_H |
||||||
|
-#define BITOPS_H 1 |
||||||
|
- |
||||||
|
-#define BITS_PER_LONG (sizeof(unsigned long) * 8) |
||||||
|
-#define BYTES_PER_LONG (sizeof(long)) |
||||||
|
- |
||||||
|
-#define test_bit(i,p) ((p)[(i) / BITS_PER_LONG] & (1UL << ((i)%BITS_PER_LONG))) |
||||||
|
-#define set_bit(i,p) ((p)[(i) / BITS_PER_LONG] |= (1UL << ((i)%BITS_PER_LONG))) |
||||||
|
-#define clear_bit(i,p) ((p)[(i) / BITS_PER_LONG] &= ~(1UL << ((i)%BITS_PER_LONG))) |
||||||
|
- |
||||||
|
-extern int find_first_bit(void *mask, int max); |
||||||
|
- |
||||||
|
-#endif |
||||||
|
Index: numactl-dev/Makefile |
||||||
|
=================================================================== |
||||||
|
--- numactl-dev.orig/Makefile |
||||||
|
+++ numactl-dev/Makefile |
||||||
|
@@ -23,7 +23,7 @@ ifeq ($(THREAD_SUPPORT),yes) |
||||||
|
endif |
||||||
|
|
||||||
|
CLEANFILES := numactl.o libnuma.o numactl numademo numademo.o distance.o \ |
||||||
|
- memhog libnuma.so libnuma.so.1 numamon numamon.o syscall.o bitops.o \ |
||||||
|
+ memhog libnuma.so libnuma.so.1 numamon numamon.o syscall.o \ |
||||||
|
memhog.o util.o stream_main.o stream_lib.o shm.o stream clearcache.o \ |
||||||
|
test/pagesize test/tshared test/mynode.o test/tshared.o mt.o empty.o empty.c \ |
||||||
|
test/mynode test/ftok test/prefered test/randmap \ |
||||||
|
@@ -32,8 +32,8 @@ CLEANFILES := numactl.o libnuma.o numact |
||||||
|
test/mbind_mig_pages test/migrate_pages \ |
||||||
|
migratepages migspeed migspeed.o libnuma.a \ |
||||||
|
test/move_pages test/realloc_test sysfs.o affinity.o \ |
||||||
|
- test/node-parse rtnetlink.o test/A numastat |
||||||
|
-SOURCES := bitops.c libnuma.c distance.c memhog.c numactl.c numademo.c \ |
||||||
|
+ test/node-parse rtnetlink.o test/A numastat numastat.o |
||||||
|
+SOURCES := libnuma.c distance.c memhog.c numactl.c numademo.c \ |
||||||
|
numamon.c shm.c stream_lib.c stream_main.c syscall.c util.c mt.c \ |
||||||
|
clearcache.c test/*.c affinity.c sysfs.c rtnetlink.c numastat.c |
||||||
|
|
||||||
|
@@ -51,11 +51,11 @@ all: numactl migratepages migspeed libnu |
||||||
|
test/mbind_mig_pages test/migrate_pages test/realloc_test libnuma.a \ |
||||||
|
test/node-parse numastat |
||||||
|
|
||||||
|
-numactl: numactl.o util.o shm.o bitops.o libnuma.so |
||||||
|
+numactl: numactl.o util.o shm.o libnuma.so |
||||||
|
|
||||||
|
numastat: CFLAGS += -std=gnu99 |
||||||
|
|
||||||
|
-migratepages: migratepages.c util.o bitops.o libnuma.so |
||||||
|
+migratepages: migratepages.c util.o libnuma.so |
||||||
|
|
||||||
|
migspeed: LDLIBS += -lrt |
||||||
|
migspeed: migspeed.o util.o libnuma.so |
||||||
|
@@ -129,7 +129,7 @@ test/nodemap: test/nodemap.c libnuma.so |
||||||
|
|
||||||
|
test/distance: test/distance.c libnuma.so |
||||||
|
|
||||||
|
-test/tbitmap: test/tbitmap.c libnuma.so |
||||||
|
+test/tbitmap: test/tbitmap.c libnuma.so util.o |
||||||
|
|
||||||
|
test/move_pages: test/move_pages.c libnuma.so |
||||||
|
|
||||||
|
Index: numactl-dev/migspeed.c |
||||||
|
=================================================================== |
||||||
|
--- numactl-dev.orig/migspeed.c |
||||||
|
+++ numactl-dev/migspeed.c |
||||||
|
@@ -65,7 +65,6 @@ int main(int argc, char *argv[]) |
||||||
|
{ |
||||||
|
char *p; |
||||||
|
int option; |
||||||
|
- int error = 0; |
||||||
|
struct timespec result; |
||||||
|
unsigned long bytes; |
||||||
|
double duration, mbytes; |
||||||
|
@@ -82,8 +81,7 @@ int main(int argc, char *argv[]) |
||||||
|
switch (option) { |
||||||
|
case 'h' : |
||||||
|
case '?' : |
||||||
|
- error = 1; |
||||||
|
- break; |
||||||
|
+ usage(); |
||||||
|
case 'v' : |
||||||
|
verbose++; |
||||||
|
break; |
||||||
|
Index: numactl-dev/numactl.c |
||||||
|
=================================================================== |
||||||
|
--- numactl-dev.orig/numactl.c |
||||||
|
+++ numactl-dev/numactl.c |
||||||
|
@@ -119,7 +119,7 @@ void show_physcpubind(void) |
||||||
|
} |
||||||
|
err("sched_get_affinity"); |
||||||
|
} |
||||||
|
- printcpumask("physcpubind", cpubuf); |
||||||
|
+ printmask("physcpubind", cpubuf); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
@@ -130,7 +130,6 @@ void show(void) |
||||||
|
struct bitmask *membind, *interleave, *cpubind; |
||||||
|
unsigned long cur; |
||||||
|
int policy; |
||||||
|
- int numa_num_nodes = numa_num_possible_nodes(); |
||||||
|
|
||||||
|
if (numa_available() < 0) { |
||||||
|
show_physcpubind(); |
||||||
|
@@ -166,7 +165,7 @@ void show(void) |
||||||
|
printf("%ld (interleave next)\n",cur); |
||||||
|
break; |
||||||
|
case MPOL_BIND: |
||||||
|
- printf("%d\n", find_first_bit(&membind, numa_num_nodes)); |
||||||
|
+ printf("%d\n", find_first(membind)); |
||||||
|
break; |
||||||
|
} |
||||||
|
if (policy == MPOL_INTERLEAVE) { |
||||||
|
Index: numactl-dev/numaint.h |
||||||
|
=================================================================== |
||||||
|
--- numactl-dev.orig/numaint.h |
||||||
|
+++ numactl-dev/numaint.h |
||||||
|
@@ -1,5 +1,4 @@ |
||||||
|
/* Internal interfaces of libnuma */ |
||||||
|
-#include "bitops.h" |
||||||
|
|
||||||
|
extern int numa_sched_setaffinity_v1(pid_t pid, unsigned len, const unsigned long *mask); |
||||||
|
extern int numa_sched_getaffinity_v1(pid_t pid, unsigned len, const unsigned long *mask); |
||||||
|
@@ -12,6 +11,7 @@ extern int numa_sched_getaffinity_v2_int |
||||||
|
|
||||||
|
#define SHM_HUGETLB 04000 /* segment will use huge TLB pages */ |
||||||
|
|
||||||
|
+#define BITS_PER_LONG (sizeof(unsigned long) * 8) |
||||||
|
#define CPU_BYTES(x) (round_up(x, BITS_PER_LONG)/8) |
||||||
|
#define CPU_LONGS(x) (CPU_BYTES(x) / sizeof(long)) |
||||||
|
|
||||||
|
Index: numactl-dev/test/nodemap.c |
||||||
|
=================================================================== |
||||||
|
--- numactl-dev.orig/test/nodemap.c |
||||||
|
+++ numactl-dev/test/nodemap.c |
||||||
|
@@ -1,5 +1,4 @@ |
||||||
|
#include "numa.h" |
||||||
|
-#include "bitops.h" |
||||||
|
#include <stdio.h> |
||||||
|
#include <stdlib.h> |
||||||
|
|
||||||
|
Index: numactl-dev/test/tbitmap.c |
||||||
|
=================================================================== |
||||||
|
--- numactl-dev.orig/test/tbitmap.c |
||||||
|
+++ numactl-dev/test/tbitmap.c |
||||||
|
@@ -7,6 +7,13 @@ |
||||||
|
#include <stdlib.h> |
||||||
|
#include <ctype.h> |
||||||
|
#include "numa.h" |
||||||
|
+#include "util.h" |
||||||
|
+ |
||||||
|
+/* For util.c. Fixme. */ |
||||||
|
+void usage(void) |
||||||
|
+{ |
||||||
|
+ exit(1); |
||||||
|
+} |
||||||
|
|
||||||
|
#define ALIGN(x,a) (((x)+(a)-1)&~((a)-1)) |
||||||
|
|
||||||
|
@@ -81,11 +88,12 @@ int main(void) |
||||||
|
numa_bitmask_clearall(mask); |
||||||
|
numa_bitmask_clearall(mask2); |
||||||
|
numa_bitmask_setbit(mask, i); |
||||||
|
+ assert(find_first(mask) == i); |
||||||
|
bitmap_scnprintf(buf, sizeof(buf), mask); |
||||||
|
strcat(buf,"\n"); |
||||||
|
if (numa_parse_bitmap(buf, mask2) < 0) |
||||||
|
assert(0); |
||||||
|
- if (memcmp(mask, mask2, sizeof(mask))) { |
||||||
|
+ if (memcmp(mask->maskp, mask2->maskp, numa_bitmask_nbytes(mask))) { |
||||||
|
bitmap_scnprintf(buf, sizeof(buf), mask2); |
||||||
|
printf("mask2 differs: %s\n", buf); |
||||||
|
assert(0); |
||||||
|
Index: numactl-dev/util.c |
||||||
|
=================================================================== |
||||||
|
--- numactl-dev.orig/util.c |
||||||
|
+++ numactl-dev/util.c |
||||||
|
@@ -16,7 +16,6 @@ |
||||||
|
#include "numa.h" |
||||||
|
#include "numaif.h" |
||||||
|
#include "util.h" |
||||||
|
-#include "bitops.h" |
||||||
|
#include <stdio.h> |
||||||
|
#include <string.h> |
||||||
|
#include <stdlib.h> |
||||||
|
@@ -28,23 +27,20 @@ |
||||||
|
void printmask(char *name, struct bitmask *mask) |
||||||
|
{ |
||||||
|
int i; |
||||||
|
- |
||||||
|
printf("%s: ", name); |
||||||
|
- for (i = 0; i <= mask->size; i++) |
||||||
|
+ for (i = 0; i < mask->size; i++) |
||||||
|
if (numa_bitmask_isbitset(mask, i)) |
||||||
|
printf("%d ", i); |
||||||
|
putchar('\n'); |
||||||
|
} |
||||||
|
|
||||||
|
-void printcpumask(char *name, struct bitmask *mask) |
||||||
|
+int find_first(struct bitmask *mask) |
||||||
|
{ |
||||||
|
int i; |
||||||
|
- printf("%s: ", name); |
||||||
|
- for (i = 0; i < mask->size; i++) { |
||||||
|
+ for (i = 0; i < mask->size; i++) |
||||||
|
if (numa_bitmask_isbitset(mask, i)) |
||||||
|
- printf("%d ", i); |
||||||
|
- } |
||||||
|
- putchar('\n'); |
||||||
|
+ return i; |
||||||
|
+ return -1; |
||||||
|
} |
||||||
|
|
||||||
|
void complain(char *fmt, ...) |
||||||
|
Index: numactl-dev/util.h |
||||||
|
=================================================================== |
||||||
|
--- numactl-dev.orig/util.h |
||||||
|
+++ numactl-dev/util.h |
||||||
|
@@ -1,5 +1,5 @@ |
||||||
|
extern void printmask(char *name, struct bitmask *mask); |
||||||
|
-extern void printcpumask(char *name, struct bitmask *mask); |
||||||
|
+extern int find_first(struct bitmask *mask); |
||||||
|
extern struct bitmask *nodemask(char *s); |
||||||
|
extern struct bitmask *cpumask(char *s, int *ncpus); |
||||||
|
extern int read_sysctl(char *name); |
@ -0,0 +1,295 @@ |
|||||||
|
Name: numactl |
||||||
|
Summary: Library for tuning for Non Uniform Memory Access machines |
||||||
|
Version: 2.0.9 |
||||||
|
Release: 7%{?dist} |
||||||
|
# libnuma is LGPLv2 and GPLv2 |
||||||
|
# numactl binaries are GPLv2 only |
||||||
|
License: GPLv2 |
||||||
|
Group: System Environment/Base |
||||||
|
URL: ftp://oss.sgi.com/www/projects/libnuma/download |
||||||
|
Source0: ftp://oss.sgi.com/www/projects/libnuma/download/numactl-%{version}.tar.gz |
||||||
|
Buildroot: %{_tmppath}/%{name}-buildroot |
||||||
|
|
||||||
|
ExcludeArch: s390 s390x %{arm} |
||||||
|
|
||||||
|
Patch1: numactl-2.0.8-localalloc-man.patch |
||||||
|
Patch2: numactl-2.0.9-hw-detect-segfault.patch |
||||||
|
Patch3: numactl-2.0.9-mpol-bind-preferred.patch |
||||||
|
Patch4: numactl-2.0.10-numa_node_to_cpu_skip_over_nonexisting.patch |
||||||
|
Patch5: numactl-2.0.11-libnuma-supress-warnings-for-non-existing-node.patch |
||||||
|
Patch6: numactl-2.0.11-Segment-fault-when-numa-nodes-not-sequential-or-cont.patch |
||||||
|
|
||||||
|
%description |
||||||
|
Simple NUMA policy support. It consists of a numactl program to run |
||||||
|
other programs with a specific NUMA policy. |
||||||
|
|
||||||
|
%package libs |
||||||
|
Summary: libnuma libraries |
||||||
|
# There is a tiny bit of GPLv2 code in libnuma.c |
||||||
|
License: LGPLv2 and GPLv2 |
||||||
|
Group: System Environment/Libraries |
||||||
|
|
||||||
|
%description libs |
||||||
|
numactl-libs provides libnuma, a library to do allocations with |
||||||
|
NUMA policy in applications. |
||||||
|
|
||||||
|
%package devel |
||||||
|
Summary: Development package for building Applications that use numa |
||||||
|
Group: System Environment/Libraries |
||||||
|
Requires: %{name}-libs = %{version}-%{release} |
||||||
|
License: LGPLv2 and GPLv2 |
||||||
|
|
||||||
|
%description devel |
||||||
|
Provides development headers for numa library calls |
||||||
|
|
||||||
|
%prep |
||||||
|
%setup -q -n %{name}-%{version} |
||||||
|
%patch1 -p1 |
||||||
|
%patch2 -p1 |
||||||
|
%patch3 -p1 |
||||||
|
%patch4 -p1 |
||||||
|
%patch5 -p1 |
||||||
|
%patch6 -p1 |
||||||
|
|
||||||
|
%build |
||||||
|
make clean |
||||||
|
make CFLAGS="$RPM_OPT_FLAGS -I." |
||||||
|
|
||||||
|
%install |
||||||
|
rm -rf $RPM_BUILD_ROOT |
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_bindir} |
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_libdir} |
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_includedir} |
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8 |
||||||
|
|
||||||
|
make prefix=$RPM_BUILD_ROOT/usr libdir=$RPM_BUILD_ROOT/%{_libdir} install |
||||||
|
|
||||||
|
%clean |
||||||
|
rm -rf $RPM_BUILD_ROOT |
||||||
|
|
||||||
|
%post -p /sbin/ldconfig |
||||||
|
%post libs -p /sbin/ldconfig |
||||||
|
|
||||||
|
%postun -p /sbin/ldconfig |
||||||
|
%postun libs -p /sbin/ldconfig |
||||||
|
|
||||||
|
%files |
||||||
|
%defattr(-,root,root,-) |
||||||
|
%doc README |
||||||
|
%{_bindir}/numactl |
||||||
|
%{_bindir}/numademo |
||||||
|
%{_bindir}/numastat |
||||||
|
%{_bindir}/memhog |
||||||
|
%{_bindir}/migspeed |
||||||
|
%{_bindir}/migratepages |
||||||
|
%{_mandir}/man8/*.8* |
||||||
|
|
||||||
|
%files libs |
||||||
|
%defattr(-,root,root,-) |
||||||
|
%{_libdir}/libnuma.so.1 |
||||||
|
|
||||||
|
%files devel |
||||||
|
%defattr(-,root,root,-) |
||||||
|
%{_libdir}/libnuma.so |
||||||
|
%exclude %{_libdir}/libnuma.a |
||||||
|
%{_includedir}/numa.h |
||||||
|
%{_includedir}/numaif.h |
||||||
|
%{_includedir}/numacompat1.h |
||||||
|
%{_mandir}/man3/*.3* |
||||||
|
|
||||||
|
%changelog |
||||||
|
* Tue Aug 8 2017 Petr Oros <poros@redhat.com> - 2.0.9-7 |
||||||
|
- Segment fault when numa nodes not sequential or contiguous |
||||||
|
- Resolves: #1219445 |
||||||
|
|
||||||
|
* Mon Dec 14 2015 Petr Holasek <pholasek@redhat.com> - 2.0.9-6 |
||||||
|
- confusing warning supressed (bz1270734) |
||||||
|
|
||||||
|
* Wed Jul 01 2015 Petr Holasek <pholasek@redhat.com> - 2.0.9-5 |
||||||
|
- numa_node_to_cpu skips over non-existing nodes (bz1180415) |
||||||
|
|
||||||
|
* Mon Nov 10 2014 Petr Holasek <pholasek@redhat.com> - 2.0.9-4 |
||||||
|
- Fixed missing question mark in dist macro |
||||||
|
|
||||||
|
* Thu Jul 31 2014 Petr Holasek <pholasek@redhat.com> - 2.0.9-3 |
||||||
|
- Fixed hw detect segfault (bz1061874) |
||||||
|
- Fixed printing of preferred node for MPOL_BIND (bz1119887) |
||||||
|
|
||||||
|
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 2.0.9-2 |
||||||
|
- Mass rebuild 2013-12-27 |
||||||
|
|
||||||
|
* Fri Oct 25 2013 Petr Holasek <pholasek@redhat.com> - 2.0.9-1 |
||||||
|
- rebased to version 2.0.9 (bz1017053) |
||||||
|
|
||||||
|
* Mon Aug 19 2013 Petr Holasek <pholasek@redhat.com> - 2.0.8-6 |
||||||
|
- localalloc manpage option is more verbose (bz881779) |
||||||
|
|
||||||
|
* Tue Jul 30 2013 Petr Holasek <pholasek@redhat.com> - 2.0.8-5 |
||||||
|
- numastat minor bugfixes |
||||||
|
- manpage and usage fixes (bz948377) |
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.8-4 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue Jan 22 2013 Petr Holasek <pholasek@redhat.com> - 2.0.8-3 |
||||||
|
- deleted empty numastat file |
||||||
|
|
||||||
|
* Thu Nov 1 2012 Tom Callaway <spot@fedoraproject.org> - 2.0.8-2 |
||||||
|
- fix license issues |
||||||
|
|
||||||
|
* Fri Oct 26 2012 Petr Holasek <pholasek@redhat.com> - 2.0.8-1 |
||||||
|
- Rebased to version 2.0.8 |
||||||
|
|
||||||
|
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.7-7 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild |
||||||
|
|
||||||
|
* Sat May 19 2012 Petr Holasek <pholasek@redhat.com> - 2.0.7-6 |
||||||
|
- numademo segfault fix (bz823125, bz823127) |
||||||
|
|
||||||
|
* Sun Apr 15 2012 Petr Holasek <pholasek@redhat.com> - 2.0.7-5 |
||||||
|
- Library splitted out of numactl package to numactl-libs |
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.7-4 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild |
||||||
|
|
||||||
|
* Sun Jan 01 2012 Anton Arapov <anton@redhat.com> - 2.0.7-3 |
||||||
|
- Include missing manpages |
||||||
|
|
||||||
|
* Sat Jun 18 2011 Peter Robinson <pbrobinson@gmail.com> - 2.0.7-2 |
||||||
|
- Exclude ARM platforms |
||||||
|
|
||||||
|
* Fri Apr 15 2011 Anton Arapov <anton@redhat.com> - 2.0.7-1 |
||||||
|
- Update to latest upstream stable version (bz 696703) |
||||||
|
|
||||||
|
* Tue Mar 22 2011 Anton Arapov <anton@redhat.com> - 2.0.6-2 |
||||||
|
- Better manpages (bz 673613) |
||||||
|
|
||||||
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.6-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue Jan 04 2011 Neil Horman <nhorman@redhat.com> - 2.0.6-1 |
||||||
|
- Update to latest upstream stable version (bz 666379) |
||||||
|
|
||||||
|
* Mon Oct 18 2010 Neil Horman <nhorman@redhat.com> - 2.0.5-1 |
||||||
|
- Update to latest stable upstream source |
||||||
|
|
||||||
|
* Mon Feb 15 2010 Neil Horman <nhorman@redhat.com> - 2.0.3-8 |
||||||
|
- Remove static libs from numactl (bz 556088) |
||||||
|
|
||||||
|
* Mon Aug 10 2009 Neil Horman <nhorman@redhat.com> - 2.0.3-7 |
||||||
|
- Add destructor to libnuma.so to free allocated memory (bz 516227) |
||||||
|
|
||||||
|
* Mon Aug 10 2009 Neil Horman <nhorman@redhat.com> - 2.0.3-6 |
||||||
|
- Fix obo in nodes_allowed_list strncpy (bz 516223) |
||||||
|
|
||||||
|
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.3-5 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild |
||||||
|
|
||||||
|
* Fri Jun 26 2009 Neil Horman <nhorman@redhat.com> |
||||||
|
- Update to full 2.0.3 version (bz 506795) |
||||||
|
|
||||||
|
* Wed Jun 17 2009 Neil Horman <nhorman@redhat.com> |
||||||
|
- Fix silly libnuma warnings again (bz 499633) |
||||||
|
|
||||||
|
* Fri May 08 2009 Neil Horman <nhorman@redhat.com> |
||||||
|
- Update to 2.0.3-rc3 (bz 499633) |
||||||
|
|
||||||
|
* Wed Mar 25 2009 Mark McLoughlin <markmc@redhat.com> - 2.0.2-4 |
||||||
|
- Remove warning from libnuma (bz 484552) |
||||||
|
|
||||||
|
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.2-3 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild |
||||||
|
|
||||||
|
* Mon Sep 29 2008 Neil Horman <nhorman@redhat.com> - 2.0.2-2 |
||||||
|
- Fix build break due to register selection in asm |
||||||
|
|
||||||
|
* Mon Sep 29 2008 Neil Horman <nhorman@redhat.com> - 2.0.2-1 |
||||||
|
- Update rawhide to version 2.0.2 of numactl |
||||||
|
|
||||||
|
* Fri Apr 25 2008 Neil Horman <nhorman@redhat.com> - 1.0.2-6 |
||||||
|
- Fix buffer size passing and arg sanity check for physcpubind (bz 442521) |
||||||
|
|
||||||
|
* Fri Mar 14 2008 Neil Horman <nhorman@redhat.com> - 1.0.2-5 |
||||||
|
- Fixing spec file to actually apply alpha patch :) |
||||||
|
|
||||||
|
* Fri Mar 14 2008 Neil Horman <nhorman@redhat.com> - 1.0.2-4 |
||||||
|
- Add alpha syscalls (bz 396361) |
||||||
|
|
||||||
|
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.0.2-3 |
||||||
|
- Autorebuild for GCC 4.3 |
||||||
|
|
||||||
|
* Thu Dec 20 2007 Neil Horman <nhorman@redhat.com> - 1.0.2-1 |
||||||
|
- Update numactl to fix get_mempolicy signature (bz 418551) |
||||||
|
|
||||||
|
* Fri Dec 14 2007 Neil Horman <nhorman@redhat.com> - 1.0.2-1 |
||||||
|
- Update numactl to latest version (bz 425281) |
||||||
|
|
||||||
|
* Tue Aug 07 2007 Neil Horman <nhorman@redhat.com> - 0.9.8-4 |
||||||
|
- Fixing some remaining merge review issues (bz 226207) |
||||||
|
|
||||||
|
* Fri Aug 03 2007 Neil Horman <nhorman@redhat.com> - 0.9.8-3 |
||||||
|
- fixing up merge review (bz 226207) |
||||||
|
|
||||||
|
* Fri Jan 12 2007 Neil Horman <nhorman@redhat.com> - 0.9.8-2 |
||||||
|
- Properly fixed bz 221982 |
||||||
|
- Updated revision string to include %{dist} |
||||||
|
|
||||||
|
* Thu Jan 11 2007 Neil Horman <nhorman@redhat.com> - 0.9.8-1.38 |
||||||
|
- Fixed -devel to depend on base package so libnuma.so resolves |
||||||
|
|
||||||
|
* Thu Sep 21 2006 Neil Horman <nhorman@redhat.com> - 0.9.8-1.36 |
||||||
|
- adding nodebind patch for bz 207404 |
||||||
|
|
||||||
|
* Fri Aug 25 2006 Neil Horman <nhorman@redhat.com> - 0.9.8-1.35 |
||||||
|
- moving over libnuma.so to -devel package as well |
||||||
|
|
||||||
|
* Fri Aug 25 2006 Neil Horman <nhorman@redhat.com> - 0.9.8-1.34 |
||||||
|
- split out headers/devel man pages to a devel subpackage |
||||||
|
|
||||||
|
* Tue Aug 15 2006 Neil Horman <nhorman@redhat.com> - 0.9.8-1.32 |
||||||
|
- add patch for broken cpu/nodebind output (bz 201906) |
||||||
|
|
||||||
|
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.9.8-1.31 |
||||||
|
- rebuild |
||||||
|
|
||||||
|
* Tue Jun 13 2006 Neil Horman <nhorman@redhat.com> |
||||||
|
- Rebased numactl to version 0.9.8 for FC6/RHEL5 |
||||||
|
|
||||||
|
* Wed Apr 26 2006 Neil Horman <nhorman@redhat.com> |
||||||
|
- Added patches for 64 bit overflows and cpu mask problem |
||||||
|
|
||||||
|
* Fri Mar 10 2006 Bill Nottingham <notting@redhat.com> |
||||||
|
- rebuild for ppc TLS issue (#184446) |
||||||
|
|
||||||
|
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0.6.4-1.25.2 |
||||||
|
- bump again for double-long bug on ppc(64) |
||||||
|
|
||||||
|
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> |
||||||
|
- rebuilt for new gcc4.1 snapshot and glibc changes |
||||||
|
|
||||||
|
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com> |
||||||
|
- rebuilt |
||||||
|
|
||||||
|
* Thu Jul 7 2005 Dave Jones <davej@redhat.com> |
||||||
|
- numactl doesn't own the manpage dirs. (#161547) |
||||||
|
|
||||||
|
* Tue Mar 1 2005 Dave Jones <davej@redhat.com> |
||||||
|
- Rebuild for gcc4 |
||||||
|
|
||||||
|
* Tue Feb 8 2005 Dave Jones <davej@redhat.com> |
||||||
|
- rebuild with -D_FORTIFY_SOURCE=2 |
||||||
|
|
||||||
|
* Wed Nov 10 2004 David Woodhouse <dwmw2@redhat.com> |
||||||
|
- Fix build on x86_64 |
||||||
|
|
||||||
|
* Thu Oct 21 2004 David Woodhouse <dwmw2@redhat.com> |
||||||
|
- Add PPC support |
||||||
|
|
||||||
|
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com> |
||||||
|
- rebuilt |
||||||
|
|
||||||
|
* Sat Jun 05 2004 Warren Togami <wtogami@redhat.com> |
||||||
|
- spec cleanup |
||||||
|
|
||||||
|
* Sat Jun 05 2004 Arjan van de Ven <arjanv@redhat.com> |
||||||
|
- initial packaging |
Loading…
Reference in new issue