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: Karoly Kasza <kaszak@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Karoly Kasza 2015-01-08 16:43:56 +01:00 committed by Thomas Petazzoni
parent db42620061
commit 611523d825
5 changed files with 90 additions and 0 deletions

View file

@ -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"

View file

@ -0,0 +1,11 @@
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

View file

@ -0,0 +1,34 @@
#!/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

View file

@ -0,0 +1,35 @@
################################################################################
#
# 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))

View file

@ -0,0 +1,9 @@
[Unit]
Description=irqbalance daemon
After=syslog.target
[Service]
ExecStart=/usr/sbin/irqbalance --foreground
[Install]
WantedBy=multi-user.target