Commit 611523d8 authored by Karoly Kasza's avatar Karoly Kasza Committed by Thomas Petazzoni
Browse files

irqbalance: new package



Irqbalance is a daemon to help balance the cpu load generated by
interrupts across all of a systems cpus.

[Thomas:
 - Add upstream URL in Config.in help text.
 - Fix indentation of init script.]

Signed-off-by: default avatarKaroly Kasza <kaszak@gmail.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent db426200
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1249,6 +1249,7 @@ endif
	source "package/getent/Config.in"
	source "package/htop/Config.in"
	source "package/iprutils/Config.in"
	source "package/irqbalance/Config.in"
	source "package/keyutils/Config.in"
	source "package/kmod/Config.in"
	source "package/lxc/Config.in"
+11 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_IRQBALANCE
	bool "irqbalance"
	help
	  Irqbalance is a daemon to help balance the cpu load generated
	  by interrupts across all of a systems cpus.
	  Irqbalance identifies the highest volume interrupt sources,
	  and isolates them to a single unique cpu, so that load is
	  spread as much as possible over an entire processor set, while
	  minimizing cache hit rates for irq handlers.

	  https://github.com/Irqbalance/irqbalance
+34 −0
Original line number Diff line number Diff line
#!/bin/sh
#
# Starts irqbalance
#

EXEC="/usr/sbin/irqbalance"
ARGS=""
PID="/var/run/irqbalance.pid"

case "$1" in
    start)
	echo -n "Starting irqbalance: "
	start-stop-daemon -S -q -x $EXEC -- $ARGS
	if [ $? != 0 ]; then
	    echo "FAILED"
	    exit 1
	else
	    echo "OK"
	fi
	pidof irqbalance > $PID
	;;
    stop)
	echo -n "Stopping irqbalance: "
	start-stop-daemon -K -q -p $PID
	echo "OK"
	;;
    restart|reload)
	$0 stop
	$0 start
	;;
    *)
	echo "Usage: $0 {start|stop|restart}"
	exit 1
esac
+35 −0
Original line number Diff line number Diff line
################################################################################
#
# irqbalance
#
################################################################################

IRQBALANCE_VERSION = v1.0.8
IRQBALANCE_SITE = $(call github,irqbalance,irqbalance,$(IRQBALANCE_VERSION))
IRQBALANCE_LICENSE = GPLv2
IRQBALANCE_LICENSE_FILES = COPYING
IRQBALANCE_DEPENDENCIES = host-pkgconf
# Autoreconf needed because package is distributed without a configure script
IRQBALANCE_AUTORECONF = YES

# This would be done by the package's autogen.sh script
define IRQBALANCE_PRECONFIGURE
	mkdir -p $(@D)/m4
endef

IRQBALANCE_PRE_CONFIGURE_HOOKS += IRQBALANCE_PRECONFIGURE

define IRQBALANCE_INSTALL_INIT_SYSV
	$(INSTALL) -D -m 755 package/irqbalance/S13irqbalance \
		$(TARGET_DIR)/etc/init.d/S13irqbalance
endef

define IRQBALANCE_INSTALL_INIT_SYSTEMD
	$(INSTALL) -D -m 644 package/irqbalance/irqbalance.service \
		$(TARGET_DIR)/etc/systemd/system/irqbalance.service
	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
	ln -fs ../irqbalance.service \
		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/irqbalance.service
endef

$(eval $(autotools-package))
+9 −0
Original line number Diff line number Diff line
[Unit]
Description=irqbalance daemon
After=syslog.target

[Service]
ExecStart=/usr/sbin/irqbalance --foreground

[Install]
WantedBy=multi-user.target