fix the problem of some commands of memhog, migspeed and numactl failed to execute
(cherry picked from commit d81184f055d6f766d4da9f86c9714cf7c39b0f28)
This commit is contained in:
parent
7ee651cfe9
commit
b954a3c1ba
30
0001-libnuma-clear-errno-at-the-end-of-numa_init.patch
Normal file
30
0001-libnuma-clear-errno-at-the-end-of-numa_init.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From 097e362c628a8d884fab15f84872810ae0cd41d6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chunsheng Luo <luochunsheng@huawei.com>
|
||||||
|
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
|
||||||
|
|
||||||
36
0002-numactl-Fix-shm-verfiy-for-preferred-policy.patch
Normal file
36
0002-numactl-Fix-shm-verfiy-for-preferred-policy.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
From 44f9cc0e66b12b8ed2e65734c5e7a6a9e2948189 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chunsheng Luo <luochunsheng@huawei.com>
|
||||||
|
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
|
||||||
|
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
From afa25454aec135a40ebeafa8f25321e63822bed8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chunsheng Luo <luochunsheng@huawei.com>
|
||||||
|
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
|
||||||
|
|
||||||
@ -1,12 +1,16 @@
|
|||||||
Name: numactl
|
Name: numactl
|
||||||
Version: 2.0.16
|
Version: 2.0.16
|
||||||
Release: 2
|
Release: 3
|
||||||
Summary: Library for tuning for Non Uniform Memory Access machines
|
Summary: Library for tuning for Non Uniform Memory Access machines
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
URL: https://github.com/numactl/numactl
|
URL: https://github.com/numactl/numactl
|
||||||
Source0: https://github.com/numactl/numactl/releases/download/v%{version}/numactl-%{version}.tar.gz
|
Source0: https://github.com/numactl/numactl/releases/download/v%{version}/numactl-%{version}.tar.gz
|
||||||
BuildRequires: libtool automake autoconf
|
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
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Simple NUMA policy support. It consists of a numactl program to run other
|
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
|
programs with a specific NUMA policy and a libnuma shared library to set
|
||||||
@ -74,6 +78,9 @@ LD_LIBRARY_PATH=$(pwd)/.libs make check
|
|||||||
%{_mandir}/man3/*.3*
|
%{_mandir}/man3/*.3*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Dec 16 2022 lijianglin <lijianglin2@huawei.com> - 2.0.16-3
|
||||||
|
- fix the problem of some commands of memhog, migspeed and numactl failed to execute
|
||||||
|
|
||||||
* Wed Nov 9 2022 Chunsheng Luo<luochunsheng@huawei.com> - 2.0.16-2
|
* Wed Nov 9 2022 Chunsheng Luo<luochunsheng@huawei.com> - 2.0.16-2
|
||||||
- delete unused patches
|
- delete unused patches
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user