From c5913bd12d73c4c781b79c16246a8e9c8d236b8f Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Wed, 8 Feb 2017 00:26:58 +0200 Subject: [PATCH] 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 --- utils/irqbalance/Makefile | 52 +++++++++++++++++++ .../patches/100-disable-ui-compilation.patch | 18 +++++++ 2 files changed, 70 insertions(+) create mode 100644 utils/irqbalance/Makefile create mode 100644 utils/irqbalance/patches/100-disable-ui-compilation.patch 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 + +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: