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/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
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