irqbalance: add support for uci config

Add support for uci config file.

Only a global 'enabled" switch has been implemented so far.

* Default config disables irqbalance initially, so that there is
  no change with the previous behaviour (and the possibly existing
  separate launch scripts in people's builds).

Config file and init script can be later extended for irqbalance
options like the oneshot mode or the evaluation interval

(Also change the init file to use tabs)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This commit is contained in:
Hannu Nyman 2019-06-02 12:29:17 +03:00
parent df14fa949f
commit 982c389732
3 changed files with 15 additions and 5 deletions

View File

@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=irqbalance
PKG_VERSION:=1.2.0
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_PROTO:=git
@ -49,6 +49,8 @@ define Package/irqbalance/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/irqbalance $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/irqbalance.init $(1)/etc/init.d/irqbalance
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DATA) ./files/irqbalance.config $(1)/etc/config/irqbalance
endef
$(eval $(call BuildPackage,irqbalance))

View File

@ -0,0 +1,3 @@
config irqbalance 'irqbalance'
option enabled '0'

View File

@ -4,9 +4,14 @@ START=11
USE_PROCD=1
start_service() {
procd_open_instance "irqbalance"
procd_set_param command /usr/sbin/irqbalance -f
procd_set_param respawn
procd_close_instance
local enabled
config_load 'irqbalance'
config_get_bool enabled irqbalance enabled 0
[ "$enabled" -gt 0 ] || return 0
procd_open_instance "irqbalance"
procd_set_param command /usr/sbin/irqbalance -f
procd_set_param respawn
procd_close_instance
}