diff --git a/0001-libnuma-clear-errno-at-the-end-of-numa_init.patch b/0001-libnuma-clear-errno-at-the-end-of-numa_init.patch deleted file mode 100644 index d334485168035ba3d2aa0132f45ef8998459d63c..0000000000000000000000000000000000000000 --- a/0001-libnuma-clear-errno-at-the-end-of-numa_init.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 097e362c628a8d884fab15f84872810ae0cd41d6 Mon Sep 17 00:00:00 2001 -From: Chunsheng Luo -Date: Sat, 10 Dec 2022 17:53:36 +0800 -Subject: [PATCH] libnuma: clear errno at the end of numa_init - -The construct function numa_init may change errno value -before main function, which can be confuse. - -Fixes: d538c645("libnuma: Query upcoming MPOL_PREFERRED_MANY support") ---- - libnuma.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/libnuma.c b/libnuma.c -index e1a8001..b8e5603 100644 ---- a/libnuma.c -+++ b/libnuma.c -@@ -106,6 +106,9 @@ numa_init(void) - for (i = 0; i < max; i++) - nodemask_set_compat((nodemask_t *)&numa_all_nodes, i); - memset(&numa_no_nodes, 0, sizeof(numa_no_nodes)); -+ -+ /* clear errno */ -+ errno = 0; - } - - static void cleanup_node_cpu_mask_v2(void); --- -2.33.0 - diff --git a/0002-numactl-Fix-shm-verfiy-for-preferred-policy.patch b/0002-numactl-Fix-shm-verfiy-for-preferred-policy.patch deleted file mode 100644 index d354194c9858eae415af9e1c7845e03960094aa2..0000000000000000000000000000000000000000 --- a/0002-numactl-Fix-shm-verfiy-for-preferred-policy.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 44f9cc0e66b12b8ed2e65734c5e7a6a9e2948189 Mon Sep 17 00:00:00 2001 -From: Chunsheng Luo -Date: Sat, 10 Dec 2022 22:41:25 +0800 -Subject: [PATCH] numactl: Fix shm verfiy for preferred policy - -The following command can report verify bug: - - numactl --length=4096 --shm abc -p0 --verify - -when policy uses perferred, set_policy isn't set. - -Fixes: 0c844d8c("Update to support multiple nodes") ---- - numactl.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/numactl.c b/numactl.c -index 83a741b..d3c7cea 100755 ---- a/numactl.c -+++ b/numactl.c -@@ -549,6 +549,12 @@ int main(int ac, char **av) - numa_set_bind_policy(0); - if (shmfd >= 0) { - numa_tonode_memory(shmptr, shmlen, node); -+ /* Correspond to numa_set_bind_policy function */ -+ if (numa_has_preferred_many()) { -+ setpolicy(MPOL_PREFERRED_MANY); -+ } else { -+ setpolicy(MPOL_PREFERRED); -+ } - } else if (c == 'p') { - if (numa_bitmask_weight(mask) != 1) - usage(); --- -2.33.0 - diff --git a/0003-numactl-numactl-length-xxx-shm-xxx-px-doesn-t-work.patch b/0003-numactl-numactl-length-xxx-shm-xxx-px-doesn-t-work.patch deleted file mode 100644 index 63ed7a3708712bfa4c82a3a0df487894779c0ca0..0000000000000000000000000000000000000000 --- a/0003-numactl-numactl-length-xxx-shm-xxx-px-doesn-t-work.patch +++ /dev/null @@ -1,29 +0,0 @@ -From afa25454aec135a40ebeafa8f25321e63822bed8 Mon Sep 17 00:00:00 2001 -From: Chunsheng Luo -Date: Mon, 12 Dec 2022 17:10:05 +0800 -Subject: [PATCH] numactl: 'numactl --length=xxx --shm xxx -px' doesn't work - -When preferred is used for shm, no value is assigned to the variable node, -As a result, it does not take effect. - -fixes: 5862e0e4("numactl: Simplify preferred selection") ---- - numactl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/numactl.c b/numactl.c -index d3c7cea..79b323b 100755 ---- a/numactl.c -+++ b/numactl.c -@@ -548,7 +548,7 @@ int main(int ac, char **av) - did_node_cpu_parse = 1; - numa_set_bind_policy(0); - if (shmfd >= 0) { -- numa_tonode_memory(shmptr, shmlen, node); -+ numa_tonode_memory(shmptr, shmlen, find_first(mask)); - /* Correspond to numa_set_bind_policy function */ - if (numa_has_preferred_many()) { - setpolicy(MPOL_PREFERRED_MANY); --- -2.33.0 - diff --git a/0004-fix-wrong-nodemask_sz-when-CONFIG_NODES_SHIFT-is-les.patch b/0004-fix-wrong-nodemask_sz-when-CONFIG_NODES_SHIFT-is-les.patch deleted file mode 100644 index 6481fae7893317525192f29ba007ea902df9089f..0000000000000000000000000000000000000000 --- a/0004-fix-wrong-nodemask_sz-when-CONFIG_NODES_SHIFT-is-les.patch +++ /dev/null @@ -1,61 +0,0 @@ -From eeb3d396ee5401114bf0d486d200dffb03f54ac5 Mon Sep 17 00:00:00 2001 -From: Chunsheng Luo -Date: Tue, 15 Nov 2022 15:21:31 +0800 -Subject: [PATCH] fix wrong nodemask_sz when CONFIG_NODES_SHIFT is less than 5 - -Signed-off-by: buque ---- - libnuma.c | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -diff --git a/libnuma.c b/libnuma.c -index b8e5603..896e995 100644 ---- a/libnuma.c -+++ b/libnuma.c -@@ -370,13 +370,11 @@ set_configured_nodes(void) - } - } - --/* -- * Convert the string length of an ascii hex mask to the number -- * of bits represented by that mask. -- */ --static int s2nbits(const char *s) -+static inline int is_digit(char s) - { -- return strlen(s) * 32 / 9; -+ return (s >= '0' && s <= '9') -+ || (s >= 'a' && s <= 'f') -+ || (s >= 'A' && s <= 'F'); - } - - /* Is string 'pre' a prefix of string 's'? */ -@@ -398,6 +396,8 @@ set_nodemask_size(void) - { - FILE *fp; - char *buf = NULL; -+ char *tmp_buf = NULL; -+ int digit_len = 0; - size_t bufsize = 0; - - if ((fp = fopen(mask_size_file, "r")) == NULL) -@@ -405,8 +405,14 @@ set_nodemask_size(void) - - while (getline(&buf, &bufsize, fp) > 0) { - if (strprefix(buf, nodemask_prefix)) { -- nodemask_sz = s2nbits(buf + strlen(nodemask_prefix)); -- break; -+ tmp_buf = buf; -+ tmp_buf += strlen(nodemask_prefix); -+ while (*tmp_buf != '\n' && *tmp_buf != '\0') { -+ if (is_digit(*tmp_buf)) -+ digit_len++; -+ tmp_buf++; -+ } -+ nodemask_sz = digit_len * 4; - } - } - free(buf); --- -2.33.0 - diff --git a/0005-numactl.c-Remove-unused-variable.patch b/0005-numactl.c-Remove-unused-variable.patch deleted file mode 100644 index 653a87b86ce2573abb122f25e9684bd6c777ac6a..0000000000000000000000000000000000000000 --- a/0005-numactl.c-Remove-unused-variable.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c09fefddf5474b393f262f92659134355d98c550 Mon Sep 17 00:00:00 2001 -From: Honggyu Kim -Date: Sat, 24 Dec 2022 03:19:14 +0000 -Subject: [PATCH] numactl.c: Remove unused variable - -This patch is to remove the following unused variable warning. - - numactl.c: In function 'main': - numactl.c:425:14: warning: unused variable 'node' [-Wunused-variable] - 425 | long node=-1; - | ^~~~ - -Since node is used nowhere inside the function so remove it. - -Signed-off-by: Honggyu Kim -Signed-off-by: buque ---- - numactl.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/numactl.c b/numactl.c -index 79b323b..47cbf39 100755 ---- a/numactl.c -+++ b/numactl.c -@@ -422,7 +422,6 @@ static struct bitmask *numactl_parse_nodestring(char *s, int flag) - int main(int ac, char **av) - { - int c; -- long node=-1; - char *end; - char shortopts[array_len(opts)*2 + 1]; - struct bitmask *mask = NULL; --- -2.33.0 - diff --git a/0006-numactl.c-Fix-merging-of-neighboring-pages-policies-.patch b/0006-numactl.c-Fix-merging-of-neighboring-pages-policies-.patch deleted file mode 100644 index 78d039963bf94d4e36840deab477725b763d2dfe..0000000000000000000000000000000000000000 --- a/0006-numactl.c-Fix-merging-of-neighboring-pages-policies-.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6587ed2e4b8ce6d1eb0812f89709101f2bfdd1f1 Mon Sep 17 00:00:00 2001 -From: Ackerley Tng -Date: Wed, 15 Mar 2023 00:23:14 +0000 -Subject: [PATCH] numactl.c: Fix merging of neighboring pages' policies in - dump_shm - -In addition to checking that the policies are equal, also check that -the nodes are equal, since the policies may be the same but apply to -different nodes. - -Fixes #170 - -Signed-off-by: buque ---- - shm.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/shm.c b/shm.c -index 5d0d1ab..66dbea4 100644 ---- a/shm.c -+++ b/shm.c -@@ -205,11 +205,12 @@ void dump_shm(void) - if (get_mempolicy(&pol, nodes->maskp, nodes->size, c+shmptr, - MPOL_F_ADDR) < 0) - err("get_mempolicy on shm"); -- if (pol == prevpol) -+ if (pol == prevpol && numa_bitmask_equal(prevnodes, nodes)) - continue; - if (prevpol != -1) - dumppol(start, c, prevpol, prevnodes); -- prevnodes = nodes; -+ -+ copy_bitmask_to_bitmask(nodes, prevnodes); - prevpol = pol; - start = c; - } --- -2.33.0 - diff --git a/0007-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch b/0007-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch deleted file mode 100644 index 7961a73af757e409a0d08a9dfe528aca66d95c9a..0000000000000000000000000000000000000000 --- a/0007-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 851bbd5b963a7a5d95b8fe3102cf05972dc72655 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 15 Dec 2022 12:11:13 -0800 -Subject: [PATCH] shm.c: Replace stat64/fstat64/ftruncate64mmap64 with normal - functions - -These functions were needed when _FILE_OFFSET_BITS was not 64, using -AC_SYS_LARGEFILE will detect it correctly and make the normal variants -of these functions behave same as their *64 counterparts. - -Signed-off-by: Khem Raj -Signed-off-by: buque ---- - shm.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/shm.c b/shm.c -index 20537d9..5d0d1ab 100644 ---- a/shm.c -+++ b/shm.c -@@ -24,8 +24,8 @@ - #include - #include - #include --#include - #include -+#include - #include - #include - #include -@@ -135,7 +135,7 @@ void attach_sysvshm(char *name, char *opt) - /* Attach a shared memory file. */ - void attach_shared(char *name, char *opt) - { -- struct stat64 st; -+ struct stat st; - - shmfd = open(name, O_RDWR); - if (shmfd < 0) { -@@ -146,14 +146,14 @@ void attach_shared(char *name, char *opt) - if (shmfd < 0) - nerror("cannot create file %s", name); - } -- if (fstat64(shmfd, &st) < 0) -+ if (fstat(shmfd, &st) < 0) - err("shm stat"); - /* the file size must be larger than mmap shmlen + shmoffset, otherwise SIGBUS - * will be caused when we access memory, because mmaped memory is no longer in - * the range of the file laster. - */ - if ((shmlen + shmoffset) > st.st_size) { -- if (ftruncate64(shmfd, shmlen + shmoffset) < 0) { -+ if (ftruncate(shmfd, shmlen + shmoffset) < 0) { - /* XXX: we could do it by hand, but it would it - would be impossible to apply policy then. - need to fix that in the kernel. */ -@@ -168,7 +168,7 @@ void attach_shared(char *name, char *opt) - - /* RED-PEN For shmlen > address space may need to map in pieces. - Left for some poor 32bit soul. */ -- shmptr = mmap64(NULL, shmlen, PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, shmoffset); -+ shmptr = mmap(NULL, shmlen, PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, shmoffset); - if (shmptr == (char*)-1) - err("shm mmap"); - } --- -2.33.0 - diff --git a/0008-numastat-Update-system-hugepages-memory-info-from-sy.patch b/0008-numastat-Update-system-hugepages-memory-info-from-sy.patch deleted file mode 100644 index 11f7e6ce369337898029deae5ebc402ea4261928..0000000000000000000000000000000000000000 --- a/0008-numastat-Update-system-hugepages-memory-info-from-sy.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 248823314e04437aa85a159d4b532ed544d361f8 Mon Sep 17 00:00:00 2001 -From: Chunsheng Luo -Date: Mon, 12 Dec 2022 12:02:36 +0800 -Subject: [PATCH] numastat: Update system hugepages memory info from - sysfs/node/hugepages directory - -`numastat -m` gets hugepages memory just from /sys/devices/system/node/node$/meminfo, -it is not the entire hugepages memory of the system, just the default huge page. - -Update the entire hugepages memory information from the /sys/devices/system/node/node$/hugepages directory. - -Signed-off-by: buque ---- - numastat.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 95 insertions(+), 1 deletion(-) - -diff --git a/numastat.c b/numastat.c -index 6a922f3..cc2249f 100644 ---- a/numastat.c -+++ b/numastat.c -@@ -41,6 +41,9 @@ end of this file. - #include - #include - #include -+#include -+#include -+#include - - #define STRINGIZE(s) #s - #define STRINGIFY(s) STRINGIZE(s) -@@ -50,6 +53,8 @@ end of this file. - - #define BUF_SIZE 2048 - #define SMALL_BUF_SIZE 128 -+#define PATH_LEN 128 -+#define DNAME_LEN 64 - - // Don't assume nodes are sequential or contiguous. - // Need to discover and map node numbers. -@@ -794,6 +799,88 @@ static char *command_name_for_pid(int pid) - return NULL; - } - -+/* update hugepages info from /sys/devices/system/node/node$/hugepages/hugepages-$ */ -+static double update_hugepages_info(int node_ix, const char *token) -+{ -+ char *fname; -+ DIR *d = NULL; -+ struct dirent *dp = NULL; -+ struct stat st; -+ char top_path[64]; -+ -+ if (!strncmp(token, "HugePages_Total", 15)) { -+ fname = "nr_hugepages"; -+ } else if(!strncmp(token, "HugePages_Free", 14)) { -+ fname = "free_hugepages"; -+ } else if (!strncmp(token, "HugePages_Surp", 14)) { -+ fname = "surplus_hugepages"; -+ } else { -+ return -EINVAL; -+ } -+ -+ snprintf(top_path, sizeof(top_path), "/sys/devices/system/node/node%d/hugepages", node_ix); -+ -+ if(stat(top_path, &st) < 0 || !S_ISDIR(st.st_mode)) { -+ printf("invalid path: %s\n", top_path); -+ return -ENOENT; -+ } -+ -+ if(!(d = opendir(top_path))) { -+ fprintf(stderr, "opendir[%s] error: %s\n", top_path, strerror(errno)); -+ return -ENOENT; -+ } -+ -+ const char *delimiters = "-"; -+ double total = 0; -+ char *huge_dname; -+ char *fpath; -+ char *buf; -+ -+ huge_dname = (char *)malloc(DNAME_LEN); -+ fpath = (char *)malloc(PATH_LEN); -+ buf = (char *)malloc(SMALL_BUF_SIZE); -+ -+ /* Traversing directories /sys/devices/system/node/node%d/hugepages */ -+ while((dp = readdir(d)) != NULL) { -+ if((!strncmp(dp->d_name, ".", 1)) || (!strncmp(dp->d_name, "..", 2))) -+ continue; -+ -+ if ((dp->d_type != DT_DIR) || strncmp(dp->d_name, "hugepages-", 10)) -+ continue; -+ -+ /* Get huge pages size from d_name d_name: example hugepages-1048576kB */ -+ memset(huge_dname, 0, DNAME_LEN); -+ memcpy(huge_dname, dp->d_name, strlen(dp->d_name)); -+ -+ /* Example: /sys/devices/system/node/node%d/hugepages/hugepages-1048576kB/nr_hugepages */ -+ snprintf(fpath, PATH_LEN, "%s/%s/%s", top_path, huge_dname, fname); -+ -+ char *pagesz_str = strtok(huge_dname, delimiters); -+ pagesz_str = strtok(NULL, pagesz_str); -+ memset(strstr(pagesz_str, "kB"), 0, 2); -+ unsigned long hugepage_size = strtol(pagesz_str, NULL, 10); -+ hugepage_size *= KILOBYTE; -+ -+ /* Get the number of pages */ -+ FILE *fs = fopen(fpath, "r"); -+ if (!fs) { -+ printf("cannot open %s: %s\n", fpath, strerror(errno)); -+ continue; -+ } -+ fgets(buf, SMALL_BUF_SIZE, fs); -+ unsigned long nr_pages = strtol(buf, NULL, 10); -+ fclose(fs); -+ -+ total += nr_pages * hugepage_size; -+ } -+ closedir(d); -+ free(huge_dname); -+ free(fpath); -+ free(buf); -+ -+ return total; -+} -+ - static void show_info_from_system_file(char *file, meminfo_p meminfo, int meminfo_rows, int tok_offset) - { - // Setup and init table -@@ -873,7 +960,14 @@ static void show_info_from_system_file(char *file, meminfo_p meminfo, int meminf - if (tokens < 4) { - multiplier = page_size_in_bytes; - } else if (!strncmp("HugePages", tok[2], 9)) { -- multiplier = huge_page_size_in_bytes; -+ /* update hugepages info more detail from sysfs/hugepages directory */ -+ double new = update_hugepages_info(node_ix_map[node_ix], tok[2]); -+ if (new > 0) { -+ value = new; -+ } else { -+ /* fall back old way */ -+ multiplier = huge_page_size_in_bytes; -+ } - } else if (!strncmp("kB", tok[4], 2)) { - multiplier = KILOBYTE; - } --- -2.33.0 - diff --git a/0009-riscv64-remove-flag-latomic.patch b/0009-riscv64-remove-flag-latomic.patch deleted file mode 100644 index a7a54b68625875f31580718340de92e6a6303111..0000000000000000000000000000000000000000 --- a/0009-riscv64-remove-flag-latomic.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a37ca95db184fb97c55a294449fe7622a5aecdda Mon Sep 17 00:00:00 2001 -From: laokz -Date: Tue, 18 Jul 2023 19:37:14 +0800 -Subject: [PATCH] riscv64: remove flag -latomic - -Because openEuler gcc already support inline subword atomic -for RISC-V, remove the redundant flag. ---- - Makefile.am | 3 --- - Makefile.in | 1 - - 2 files changed, 4 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index d64df5d..ba6cd48 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -41,9 +41,6 @@ memhog_LDADD = libnuma.la - - libnuma_la_SOURCES = libnuma.c syscall.c distance.c affinity.c affinity.h sysfs.c sysfs.h rtnetlink.c rtnetlink.h versions.ldscript - libnuma_la_LDFLAGS = -version-info 1:0:0 -Wl,--version-script,$(srcdir)/versions.ldscript -Wl,-init,numa_init -Wl,-fini,numa_fini --if RISCV64 --libnuma_la_LDFLAGS += -latomic --endif - - check_PROGRAMS = \ - test/distance \ -diff --git a/Makefile.in b/Makefile.in -index 8cbad1c..a196ea0 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -95,7 +95,6 @@ target_triplet = @target@ - bin_PROGRAMS = numactl$(EXEEXT) numastat$(EXEEXT) numademo$(EXEEXT) \ - migratepages$(EXEEXT) migspeed$(EXEEXT) memhog$(EXEEXT) - @HAVE_TREE_VECTORIZE_TRUE@am__append_1 = -ftree-vectorize --@RISCV64_TRUE@am__append_2 = -latomic - check_PROGRAMS = test/distance$(EXEEXT) test/ftok$(EXEEXT) \ - test/mbind_mig_pages$(EXEEXT) test/migrate_pages$(EXEEXT) \ - test/move_pages$(EXEEXT) test/mynode$(EXEEXT) \ --- -2.40.1 - diff --git a/0010-fix-fix-memory-leaks-when-run-with-H.patch b/0010-fix-fix-memory-leaks-when-run-with-H.patch deleted file mode 100644 index 887c49380d5c3200f8f12290e88f5197207d8ecb..0000000000000000000000000000000000000000 --- a/0010-fix-fix-memory-leaks-when-run-with-H.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 8daaae302b214539bba6b002c7c40b700ddcdc4b Mon Sep 17 00:00:00 2001 -From: will_niutao -Date: Thu, 24 Aug 2023 11:08:23 +0800 -Subject: [PATCH] fix: fix memory leaks when run with -H - -Conflict: NA -Reference: https://github.com/numactl/numactl/commit/8daaae302b214539bba6b002c7c40b700ddcdc4b ---- - numactl.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/numactl.c b/numactl.c -index 47cbf39..562f319 100755 ---- a/numactl.c -+++ b/numactl.c -@@ -242,6 +242,8 @@ static void print_node_cpus(int node) - printf(" %d", i); - } - putchar('\n'); -+ -+ numa_free_cpumask(cpus); - } - - static void hardware(void) --- -2.39.3 - diff --git a/numactl-2.0.16.tar.gz b/numactl-2.0.16.tar.gz deleted file mode 100644 index ca1edaf7c0393a8e733fadf7486559231edf79ec..0000000000000000000000000000000000000000 Binary files a/numactl-2.0.16.tar.gz and /dev/null differ diff --git a/numactl-2.0.17.tar.gz b/numactl-2.0.17.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..fb235c12cb63e3e09ae5b80ab2407f98b18b00be Binary files /dev/null and b/numactl-2.0.17.tar.gz differ diff --git a/numactl.spec b/numactl.spec index 69199daaad5a83e0d4e2e720cd730d62e9f1ba88..c3160c452994b5909b2bce3933142635cc65ea96 100644 --- a/numactl.spec +++ b/numactl.spec @@ -1,23 +1,12 @@ Name: numactl -Version: 2.0.16 -Release: 9 +Version: 2.0.17 +Release: 1 Summary: Library for tuning for Non Uniform Memory Access machines License: GPLv2 URL: https://github.com/numactl/numactl Source0: https://github.com/numactl/numactl/releases/download/v%{version}/numactl-%{version}.tar.gz BuildRequires: libtool automake autoconf -Patch0001: 0001-libnuma-clear-errno-at-the-end-of-numa_init.patch -Patch0002: 0002-numactl-Fix-shm-verfiy-for-preferred-policy.patch -Patch0003: 0003-numactl-numactl-length-xxx-shm-xxx-px-doesn-t-work.patch -Patch0004: 0004-fix-wrong-nodemask_sz-when-CONFIG_NODES_SHIFT-is-les.patch -Patch0005: 0005-numactl.c-Remove-unused-variable.patch -Patch0006: 0006-numactl.c-Fix-merging-of-neighboring-pages-policies-.patch -Patch0007: 0007-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch -Patch0008: 0008-numastat-Update-system-hugepages-memory-info-from-sy.patch -Patch0009: 0009-riscv64-remove-flag-latomic.patch -Patch0010: 0010-fix-fix-memory-leaks-when-run-with-H.patch - %description Simple NUMA policy support. It consists of a numactl program to run other programs with a specific NUMA policy and a libnuma shared library to set @@ -85,6 +74,9 @@ LD_LIBRARY_PATH=$(pwd)/.libs make check %{_mandir}/man3/*.3* %changelog +* Mon Mar 04 2024 GuoCe - 2.0.17-1 +- update version to 2.0.17 + * Tue Dec 19 2023 chenhaixiang - 2.0.16-9 - fix: fix memory leaks when run with -H