aboutsummaryrefslogtreecommitdiff
path: root/utils/irqbalance
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2017-02-08 00:26:58 +0200
committerHannu Nyman <hannu.nyman@iki.fi>2017-02-08 00:26:58 +0200
commitc5913bd12d73c4c781b79c16246a8e9c8d236b8f (patch)
tree5037a9a819856b400787b5b17614020adf2d3b99 /utils/irqbalance
parentccf0595fc61f11b45b4558568934b740a54e4556 (diff)
irqbalance: add package
The purpose of irqbalance is to distribute hardware interrupts across processors/cores on a multiprocessor/-core system in order to increase performance. This initial implementation of the package uses external glib2, which is a large dependency. Only the cmd-line tool is compiled and installed. Run-tested with ipq806x / R7800. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Diffstat (limited to 'utils/irqbalance')
-rw-r--r--utils/irqbalance/Makefile52
-rw-r--r--utils/irqbalance/patches/100-disable-ui-compilation.patch18
2 files changed, 70 insertions, 0 deletions
diff --git a/utils/irqbalance/Makefile b/utils/irqbalance/Makefile
new file mode 100644
index 000000000..7de1db0fd
--- /dev/null
+++ b/utils/irqbalance/Makefile
@@ -0,0 +1,52 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=irqbalance
+PKG_VERSION:=1.2.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/Irqbalance/irqbalance.git
+PKG_SOURCE_VERSION:=0e0dd4cfe5464de2f81eaef504eab7183f1fb030
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_LICENSE:=GPLv2
+
+PKG_MAINTAINER:=Hannu Nyman <hannu.nyman@iki.fi>
+
+PKG_FIXUP:=autoreconf
+PKG_REMOVE_FILES:=autogen.sh
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/irqbalance
+ SECTION:=utils
+ CATEGORY:=Utilities
+ DEPENDS:=+glib2
+ TITLE:=IRQ usage balancing for multi-core systems
+ URL:=https://github.com/Irqbalance/irqbalance
+endef
+
+define Package/irqbalance/description
+ The purpose of irqbalance is to distribute hardware interrupts across
+ processors/cores on a multiprocessor/multicore system in order to
+ increase performance.
+endef
+
+CONFIGURE_ARGS+= \
+ --disable-numa \
+ --with-libcap_ng=no \
+ --with-systemd=no \
+ --with-glib2=yes
+
+define Package/irqbalance/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/irqbalance $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,irqbalance))
diff --git a/utils/irqbalance/patches/100-disable-ui-compilation.patch b/utils/irqbalance/patches/100-disable-ui-compilation.patch
new file mode 100644
index 000000000..4dbc237f0
--- /dev/null
+++ b/utils/irqbalance/patches/100-disable-ui-compilation.patch
@@ -0,0 +1,18 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -29,14 +29,10 @@
+ AM_CPPFLAGS = -I${top_srcdir} -W -Wall -Wshadow -Wformat -Wundef -D_GNU_SOURCE
+ noinst_HEADERS = bitmap.h constants.h cpumask.h irqbalance.h non-atomic.h \
+ types.h $(UI_DIR)/helpers.h $(UI_DIR)/irqbalance-ui.h $(UI_DIR)/ui.h
+-sbin_PROGRAMS = irqbalance irqbalance-ui
++sbin_PROGRAMS = irqbalance
+ irqbalance_SOURCES = activate.c bitmap.c classify.c cputree.c irqbalance.c \
+ irqlist.c numa.c placement.c procinterrupts.c
+ irqbalance_LDADD = $(LIBCAP_NG_LIBS) $(GLIB_LIBS)
+-irqbalance_ui_SOURCES = $(UI_DIR)/helpers.c $(UI_DIR)/irqbalance-ui.c \
+- $(UI_DIR)/ui.c
+-irqbalance_ui_LDADD = $(GLIB_LIBS) $(CURSES_LIBS)
+-dist_man_MANS = irqbalance.1
+
+ CONFIG_CLEAN_FILES = debug*.list config/*
+ clean-generic: