Release 1.9.0-1
Rebase to latest upstream release v1.9.0 Resolves:rhbz2098635 Signed-off-by: Tao Liu <ltao@redhat.com>
This commit is contained in:
parent
e05d73986b
commit
d8feb456a3
@ -1,26 +0,0 @@
|
|||||||
From 188f9efc567bcaef25bde2813cdee7f952f992f9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Pat Riehecky <riehecky@fnal.gov>
|
|
||||||
Date: Mon, 4 Apr 2022 08:38:32 -0500
|
|
||||||
Subject: [PATCH] Confine irqbalance to systems where it is useful.
|
|
||||||
|
|
||||||
Systems with only one CPU cannot benefit from this service, so
|
|
||||||
don't start it when it isn't worth the resource consumption.
|
|
||||||
---
|
|
||||||
misc/irqbalance.service | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/misc/irqbalance.service b/misc/irqbalance.service
|
|
||||||
index fcc29c2..0f79c3e 100644
|
|
||||||
--- a/misc/irqbalance.service
|
|
||||||
+++ b/misc/irqbalance.service
|
|
||||||
@@ -3,6 +3,7 @@ Description=irqbalance daemon
|
|
||||||
Documentation=man:irqbalance(1)
|
|
||||||
Documentation=https://github.com/Irqbalance/irqbalance
|
|
||||||
ConditionVirtualization=!container
|
|
||||||
+ConditionCPUs=>1
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
EnvironmentFile=-/usr/lib/irqbalance/defaults.env
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
@ -1,159 +0,0 @@
|
|||||||
From 4342acd8d7862e862e0b661135b10671ffeac119 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kairui Song <kasong@redhat.com>
|
|
||||||
Date: Thu, 22 Jul 2021 03:05:59 +0800
|
|
||||||
Subject: [PATCH] Disable the communication socket when UI is disabled
|
|
||||||
|
|
||||||
The communication socket is added to support the UI, when UI is not
|
|
||||||
built, also disable the socket.
|
|
||||||
|
|
||||||
Signed-off-by: Kairui Song <kasong@redhat.com>
|
|
||||||
---
|
|
||||||
configure.ac | 11 +++++++----
|
|
||||||
cputree.c | 4 ++++
|
|
||||||
irqbalance.c | 23 ++++++++++++++++-------
|
|
||||||
3 files changed, 27 insertions(+), 11 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 92a5113..c45b9ce 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -41,10 +41,13 @@ AC_C_INLINE
|
|
||||||
AM_PROG_CC_C_O
|
|
||||||
|
|
||||||
AC_ARG_WITH([irqbalance-ui],
|
|
||||||
- [AC_HELP_STRING([--without-irqbalance-ui],
|
|
||||||
- [Dont build the irqbalance ui component])],
|
|
||||||
- [with_irqbalanceui=$withval], [with_irqbalanceui=yes])
|
|
||||||
-
|
|
||||||
+ [AS_HELP_STRING([--without-irqbalance-ui],
|
|
||||||
+ [Dont build the irqbalance ui component])],
|
|
||||||
+ [with_irqbalanceui=$withval], [with_irqbalanceui=yes])
|
|
||||||
+AS_IF(
|
|
||||||
+ [test "x$with_irqbalanceui" = "xyes"], [
|
|
||||||
+ AC_DEFINE([HAVE_IRQBALANCEUI], 1, [Build irqbalance ui component.])
|
|
||||||
+])
|
|
||||||
AM_CONDITIONAL([IRQBALANCEUI], [test x$with_irqbalanceui = xyes])
|
|
||||||
|
|
||||||
AC_ARG_WITH([systemd],
|
|
||||||
diff --git a/cputree.c b/cputree.c
|
|
||||||
index e4695f2..b716a8f 100644
|
|
||||||
--- a/cputree.c
|
|
||||||
+++ b/cputree.c
|
|
||||||
@@ -39,7 +39,9 @@
|
|
||||||
|
|
||||||
#include "irqbalance.h"
|
|
||||||
|
|
||||||
+#ifdef HAVE_IRQBALANCEUI
|
|
||||||
extern char *banned_cpumask_from_ui;
|
|
||||||
+#endif
|
|
||||||
extern char *cpu_ban_string;
|
|
||||||
|
|
||||||
GList *cpus;
|
|
||||||
@@ -113,12 +115,14 @@ static void setup_banned_cpus(void)
|
|
||||||
cpumask_t isolated_cpus;
|
|
||||||
char *env = NULL;
|
|
||||||
|
|
||||||
+#ifdef HAVE_IRQBALANCEUI
|
|
||||||
/* A manually specified cpumask overrides auto-detection. */
|
|
||||||
if (cpu_ban_string != NULL && banned_cpumask_from_ui != NULL) {
|
|
||||||
cpulist_parse(banned_cpumask_from_ui,
|
|
||||||
strlen(banned_cpumask_from_ui), banned_cpus);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Notes:
|
|
||||||
diff --git a/irqbalance.c b/irqbalance.c
|
|
||||||
index 3f94847..07a245f 100644
|
|
||||||
--- a/irqbalance.c
|
|
||||||
+++ b/irqbalance.c
|
|
||||||
@@ -31,22 +31,21 @@
|
|
||||||
#include <time.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
-#include <sys/socket.h>
|
|
||||||
-#include <sys/un.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <inttypes.h>
|
|
||||||
#ifdef HAVE_GETOPT_LONG
|
|
||||||
#include <getopt.h>
|
|
||||||
#endif
|
|
||||||
-
|
|
||||||
#ifdef HAVE_LIBCAP_NG
|
|
||||||
#include <cap-ng.h>
|
|
||||||
#endif
|
|
||||||
+#ifdef HAVE_IRQBALANCEUI
|
|
||||||
+#include <sys/un.h>
|
|
||||||
+#include <sys/socket.h>
|
|
||||||
+#endif
|
|
||||||
#include "irqbalance.h"
|
|
||||||
|
|
||||||
volatile int keep_going = 1;
|
|
||||||
-int socket_fd;
|
|
||||||
-char socket_name[64];
|
|
||||||
int one_shot_mode;
|
|
||||||
int debug_mode;
|
|
||||||
int foreground_mode;
|
|
||||||
@@ -67,9 +66,14 @@ int last_interval;
|
|
||||||
GMainLoop *main_loop;
|
|
||||||
|
|
||||||
char *cpu_ban_string = NULL;
|
|
||||||
-char *banned_cpumask_from_ui = NULL;
|
|
||||||
unsigned long migrate_ratio = 0;
|
|
||||||
|
|
||||||
+#ifdef HAVE_IRQBALANCEUI
|
|
||||||
+int socket_fd;
|
|
||||||
+char socket_name[64];
|
|
||||||
+char *banned_cpumask_from_ui = NULL;
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
static void sleep_approx(int seconds)
|
|
||||||
{
|
|
||||||
struct timespec ts;
|
|
||||||
@@ -405,6 +409,7 @@ void get_object_stat(struct topo_obj *object, void *data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef HAVE_IRQBALANCEUI
|
|
||||||
gboolean sock_handle(gint fd, GIOCondition condition, gpointer user_data __attribute__((unused)))
|
|
||||||
{
|
|
||||||
char buff[500];
|
|
||||||
@@ -585,6 +590,7 @@ int init_socket()
|
|
||||||
g_unix_fd_add(socket_fd, G_IO_IN, sock_handle, NULL);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
|
||||||
{
|
|
||||||
@@ -688,10 +694,12 @@ int main(int argc, char** argv)
|
|
||||||
parse_proc_interrupts();
|
|
||||||
parse_proc_stat();
|
|
||||||
|
|
||||||
+#ifdef HAVE_IRQBALANCEUI
|
|
||||||
if (init_socket()) {
|
|
||||||
ret = EXIT_FAILURE;
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
main_loop = g_main_loop_new(NULL, FALSE);
|
|
||||||
last_interval = sleep_interval;
|
|
||||||
g_timeout_add_seconds(sleep_interval, scan, NULL);
|
|
||||||
@@ -707,11 +715,12 @@ out:
|
|
||||||
/* Remove pidfile */
|
|
||||||
if (!foreground_mode && pidfile)
|
|
||||||
unlink(pidfile);
|
|
||||||
+#ifdef HAVE_IRQBALANCEUI
|
|
||||||
/* Remove socket */
|
|
||||||
if (socket_fd > 0)
|
|
||||||
close(socket_fd);
|
|
||||||
if (socket_name[0])
|
|
||||||
unlink(socket_name);
|
|
||||||
-
|
|
||||||
+#endif
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
From 917b10268cf5c2a4a6b624b4bb9928e5e3fe2353 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Neil Horman <neil.horman@privafy.com>
|
|
||||||
Date: Thu, 7 Apr 2022 08:25:42 -0400
|
|
||||||
Subject: [PATCH] Document migrateval
|
|
||||||
|
|
||||||
---
|
|
||||||
irqbalance.1 | 11 +++++++++++
|
|
||||||
1 file changed, 11 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/irqbalance.1 b/irqbalance.1
|
|
||||||
index 215f75a..361faea 100644
|
|
||||||
--- a/irqbalance.1
|
|
||||||
+++ b/irqbalance.1
|
|
||||||
@@ -134,6 +134,17 @@ script processing should continue
|
|
||||||
This indicates that an error has occurred in the script, and it should be skipped
|
|
||||||
(further processing to continue)
|
|
||||||
|
|
||||||
+.TP
|
|
||||||
+.B --migrateval, -e <val>
|
|
||||||
+Specify a minimum migration ratio to trigger a rebalancing
|
|
||||||
+Normally any improvement in load distribution will trigger the migration of an
|
|
||||||
+irq, as long as preforming the migration will not simply move the load to a new
|
|
||||||
+cpu. By specifying a migration value, the load balance improvement is subject
|
|
||||||
+to hysteresis defined by this value, which is inversely propotional to the
|
|
||||||
+value. For example, a value of 2 in this option tells irqbalance that the
|
|
||||||
+improvement in load distribution must be at least 50%, a value of 4 indicates
|
|
||||||
+the load distribution improvement must be at least 25%, etc
|
|
||||||
+
|
|
||||||
.TP
|
|
||||||
.B -s, --pid=<file>
|
|
||||||
Have irqbalance write its process id to the specified file. By default no
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
From efab2725ea5165732c5e98c0e083a4eec6e355e3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kairui Song <kasong@redhat.com>
|
|
||||||
Date: Fri, 24 Sep 2021 17:43:30 +0800
|
|
||||||
Subject: [PATCH] Drop CapabilityBoundingSet from irqbalance service
|
|
||||||
|
|
||||||
libcapng is issuing an error in the system log when irqbalance attempts
|
|
||||||
to drop capabilities, but systemd service unit has already done dropped
|
|
||||||
all capabilities. commit 43751df tried to fix this but it didn't fix it
|
|
||||||
completely. CapabilityBoundingSet also need to be dropped.
|
|
||||||
|
|
||||||
Fixes #182
|
|
||||||
|
|
||||||
Signed-off-by: Kairui Song <kasong@redhat.com>
|
|
||||||
---
|
|
||||||
misc/irqbalance.service | 1 -
|
|
||||||
1 file changed, 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/misc/irqbalance.service b/misc/irqbalance.service
|
|
||||||
index 014798c..fcc29c2 100644
|
|
||||||
--- a/misc/irqbalance.service
|
|
||||||
+++ b/misc/irqbalance.service
|
|
||||||
@@ -8,7 +8,6 @@ ConditionVirtualization=!container
|
|
||||||
EnvironmentFile=-/usr/lib/irqbalance/defaults.env
|
|
||||||
EnvironmentFile=-/path/to/irqbalance.env
|
|
||||||
ExecStart=/usr/sbin/irqbalance --foreground $IRQBALANCE_ARGS
|
|
||||||
-CapabilityBoundingSet=
|
|
||||||
ReadOnlyPaths=/
|
|
||||||
ReadWritePaths=/proc/irq
|
|
||||||
RestrictAddressFamilies=AF_UNIX
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
From 43751dfc7f29fbf2c46ffcd4fdb6d3f6db291927 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Neil Horman <nhorman@gmail.com>
|
|
||||||
Date: Wed, 12 May 2021 09:26:10 -0400
|
|
||||||
Subject: [PATCH] drop NoNewPrivs from irqbalance service
|
|
||||||
|
|
||||||
A recent update to libcapng is issuing an error in the system log,
|
|
||||||
caused by the fact that irqbalance attempts to drop capabilities when
|
|
||||||
the systemd service unit has already done so for us. Since irqbalance
|
|
||||||
drops the caps correctly, theres really no need for us to do so via
|
|
||||||
systemd as well. So lets drop NoNewCaps in the service unit.
|
|
||||||
|
|
||||||
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
|
|
||||||
---
|
|
||||||
misc/irqbalance.service | 1 -
|
|
||||||
1 file changed, 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/misc/irqbalance.service b/misc/irqbalance.service
|
|
||||||
index e7a3336..014798c 100644
|
|
||||||
--- a/misc/irqbalance.service
|
|
||||||
+++ b/misc/irqbalance.service
|
|
||||||
@@ -9,7 +9,6 @@ EnvironmentFile=-/usr/lib/irqbalance/defaults.env
|
|
||||||
EnvironmentFile=-/path/to/irqbalance.env
|
|
||||||
ExecStart=/usr/sbin/irqbalance --foreground $IRQBALANCE_ARGS
|
|
||||||
CapabilityBoundingSet=
|
|
||||||
-NoNewPrivileges=yes
|
|
||||||
ReadOnlyPaths=/
|
|
||||||
ReadWritePaths=/proc/irq
|
|
||||||
RestrictAddressFamilies=AF_UNIX
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: irqbalance
|
Name: irqbalance
|
||||||
Version: 1.8.0
|
Version: 1.9.0
|
||||||
Release: 5%{?dist}
|
Release: 1%{?dist}
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
Summary: IRQ balancing daemon
|
Summary: IRQ balancing daemon
|
||||||
|
|
||||||
@ -23,12 +23,7 @@ Requires: numactl-libs
|
|||||||
|
|
||||||
ExcludeArch: s390 s390x
|
ExcludeArch: s390 s390x
|
||||||
|
|
||||||
Patch1: irqbalance-1.8.0-drop-NoNewPrivs-from-irqbalance-service.patch
|
Patch1: irqbalance-1.8.0-env-file-path.patch
|
||||||
Patch2: irqbalance-1.8.0-Disable-the-communication-socket-when-UI-is-disabled.patch
|
|
||||||
Patch3: irqbalance-1.8.0-Drop-CapabilityBoundingSet-from-irqbalance-service.patch
|
|
||||||
Patch4: irqbalance-1.8.0-Confine-irqbalance-to-systems-where-it-is-useful.patch
|
|
||||||
Patch5: irqbalance-1.8.0-Document-migrateval.patch
|
|
||||||
Patch6: irqbalance-1.8.0-env-file-path.patch
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
irqbalance is a daemon that evenly distributes IRQ load across
|
irqbalance is a daemon that evenly distributes IRQ load across
|
||||||
@ -37,11 +32,6 @@ multiple CPUs for enhanced performance.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
%patch5 -p1
|
|
||||||
%patch6 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
@ -82,6 +72,9 @@ fi
|
|||||||
/sbin/chkconfig --del irqbalance >/dev/null 2>&1 || :
|
/sbin/chkconfig --del irqbalance >/dev/null 2>&1 || :
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jun 20 2022 Tao Liu <ltao@redhat.com> - 2:1.9.0-1
|
||||||
|
- Rebase to latest upstream release v1.9.0. Resolves:rhbz2097871
|
||||||
|
|
||||||
* Fri Apr 8 2022 Tao Liu <ltao@redhat.com> - 2:1.8.0-5
|
* Fri Apr 8 2022 Tao Liu <ltao@redhat.com> - 2:1.8.0-5
|
||||||
- Document migrateval. Resolves: rhbz2071959
|
- Document migrateval. Resolves: rhbz2071959
|
||||||
- Confine irqbalance to systems where it is useful. Resolves: rhbz2063930
|
- Confine irqbalance to systems where it is useful. Resolves: rhbz2063930
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (irqbalance-1.8.0.tar.gz) = 3d757198dbe680b010ed9233d73cbf3b4a150e6b07ef97d3e94f5fa0472a22b0b3800868634340fb413a18683ff95ff6a8f7fa51ace65d870651336479e32740
|
SHA512 (irqbalance-1.9.0.tar.gz) = 878977da5eff18e53bdceeaa4aca952f73ba8b03eb028cf176816af971ffc65f0b1f1bb3a68e3a2502491895cc2b9438652dc97d5696232bb2f64860109e9a24
|
||||||
|
Loading…
Reference in New Issue
Block a user