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:
parent
db42620061
commit
611523d825
@ -1249,6 +1249,7 @@ endif
|
|||||||
source "package/getent/Config.in"
|
source "package/getent/Config.in"
|
||||||
source "package/htop/Config.in"
|
source "package/htop/Config.in"
|
||||||
source "package/iprutils/Config.in"
|
source "package/iprutils/Config.in"
|
||||||
|
source "package/irqbalance/Config.in"
|
||||||
source "package/keyutils/Config.in"
|
source "package/keyutils/Config.in"
|
||||||
source "package/kmod/Config.in"
|
source "package/kmod/Config.in"
|
||||||
source "package/lxc/Config.in"
|
source "package/lxc/Config.in"
|
||||||
|
11
package/irqbalance/Config.in
Normal file
11
package/irqbalance/Config.in
Normal 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
|
34
package/irqbalance/S13irqbalance
Normal file
34
package/irqbalance/S13irqbalance
Normal 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
|
35
package/irqbalance/irqbalance.mk
Normal file
35
package/irqbalance/irqbalance.mk
Normal 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))
|
9
package/irqbalance/irqbalance.service
Normal file
9
package/irqbalance/irqbalance.service
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=irqbalance daemon
|
||||||
|
After=syslog.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/sbin/irqbalance --foreground
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user