]> git.webhop.me Git - bs-cst-neutrino-hd.git/commitdiff
add target irqbalance and use it
authorMarkham <markham001@gmx.de>
Sun, 31 Jul 2022 12:22:57 +0000 (14:22 +0200)
committerMarkham <markham001@gmx.de>
Sun, 31 Jul 2022 12:22:57 +0000 (14:22 +0200)
archive-patches/irqbalance/irqbalance.init [new file with mode: 0755]
make/applications.mk
make/archives.mk
make/libraries.mk
make/neutrino.mk
make/versions.mk

diff --git a/archive-patches/irqbalance/irqbalance.init b/archive-patches/irqbalance/irqbalance.init
new file mode 100755 (executable)
index 0000000..3b2eec6
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+
+irqbalance=$(which irqbalance || type -p irqbalance)
+if [ -z ${irqbalance} ]; then
+       echo "irqbalance not found."
+       exit 1
+fi
+
+case $1 in
+       start)
+               ${irqbalance}
+       ;;
+       stop)
+               trap "" INT
+               kill -INT $(pidof irqbalance)
+       ;;
+       restart)
+               $0 stop
+               $0 start
+       ;;
+       *)
+               echo "[$BASENAME] Usage: $0 {start|restart|stop}"
+       ;;
+esac
index bd4b6cb74bddf224c7bc5bf67894f0f800df41c9..63cb01ce589f6e0940fe909d903fad86b26a318b 100755 (executable)
@@ -245,6 +245,31 @@ $(D)/vsftpd: $(ARCHIVE)/vsftpd-$(VSFTPD_VER).tar.gz | $(TARGETPREFIX)
        $(REMOVE)/vsftpd-$(VSFTPD_VER)
        $(TOUCH)
 
+#
+# irqbalance
+#
+$(D)/irqbalance: $(ARCHIVE)/irqbalance-$(IRQBALANCE_VER).tar.gz | $(TARGETPREFIX)
+       $(REMOVE)/irqbalance-$(IRQBALANCE_VER)
+       $(START_BUILD)
+       $(UNTAR)/irqbalance-$(IRQBALANCE_VER).tar.gz
+       pushd $(BUILD_TMP)/irqbalance-$(IRQBALANCE_VER) && \
+               autoreconf -fi && \
+               $(CONFIGURE) \
+                       --prefix= \
+                       --mandir=/.remove \
+                       --without-irqbalance-ui; \
+               $(MAKE) && \
+               $(MAKE) install DESTDIR=$(TARGETPREFIX)
+       install -m 755 $(PATCHES)/irqbalance/irqbalance.init $(TARGETPREFIX)/etc/init.d/irqbalance
+       pushd $(TARGETPREFIX)/etc/init.d
+               ln -sf irqbalance $(TARGETPREFIX)/etc/init.d/S25irqbalance
+               ln -sf irqbalance $(TARGETPREFIX)/etc/init.d/K25irqbalance
+       $(REMOVE)/irqbalance-$(IRQBALANCE_VER)
+       $(TOUCH)
+
+#
+# minidlna
+#
 $(D)/minidlna: $(D)/zlib $(D)/sqlite $(D)/libexif $(D)/libjpeg $(D)/libid3tag $(D)/libogg $(D)/libvorbis $(D)/flac $(D)/ffmpeg $(ARCHIVE)/minidlna-$(MINIDLNA_VER).tar.gz | $(TARGETPREFIX)
        $(START_BUILD)
        $(UNTAR)/minidlna-$(MINIDLNA_VER).tar.gz
@@ -808,7 +833,12 @@ $(D)/udpxy: $(ARCHIVE)/$(UDPXY_VER).tar.gz | $(TARGETPREFIX)
        pushd $(BUILD_TMP)/udpxy-$(UDPXY_VER); \
                $(call apply_patches, $(addprefix udpxy/, $(UDPXY_PATCH))); \
        pushd $(BUILD_TMP)/udpxy-$(UDPXY_VER)/chipmunk && \
-               $(MAKE) NO_UDPXREC=yes PREFIX= CC=$(TARGET)-gcc CFLAGS=-Wno-error install DESTDIR=$(TARGETPREFIX);
+               $(MAKE) \
+                       MANPAGE_DIR=$(BUILD_TMP)/.remove \
+                       NO_UDPXREC=yes \
+                       PREFIX= \
+                       CC=$(TARGET)-gcc \
+                       CFLAGS=-Wno-error install DESTDIR=$(TARGETPREFIX);
        install -m 755 $(PATCHES)/udpxy/udpxy.init $(TARGETPREFIX)/etc/init.d/udpxy
        pushd $(TARGETPREFIX)/etc/init.d
                ln -sf udpxy $(TARGETPREFIX)/etc/init.d/S75udpxy
index bbc7ce26c59cd8e9d22f2e7da753a5aa7ddb610d..e7d4f9c62214aa143b9808ebc4740734a4c819d9 100755 (executable)
@@ -309,6 +309,9 @@ $(ARCHIVE)/$(UDPXY_VER).tar.gz:
 $(ARCHIVE)/inadyn-mt.v.$(INADYN_VER).tar.gz:
        $(WGET) https://sourceforge.net/projects/inadyn-mt/files/inadyn-mt/inadyn-mt.v.$(INADYN_VER)/$(notdir $@)
 
+$(ARCHIVE)/irqbalance-$(IRQBALANCE_VER).tar.gz:
+       $(WGET) https://github.com/Irqbalance/irqbalance/archive/v$(IRQBALANCE_VER).tar.gz -O $(@)
+
 $(ARCHIVE)/flac-$(FLAC_VER).tar.xz:
        $(WGET) https://ftp.osuosl.org/pub/xiph/releases/flac/flac-$(FLAC_VER).tar.xz
 
index 13bb53a37cc069306a96d0cbcf536845c81e453d..98079ae703fd42a9685129ffae79e0a19d0c125c 100755 (executable)
@@ -92,8 +92,8 @@ $(D)/libncurses: $(ARCHIVE)/ncurses-$(NCURSES_VER).tar.gz | ncurses-prereq $(TAR
                        HOSTCCFLAGS="$(TARGET_CFLAGS) -DHAVE_CONFIG_H -I../ncurses -DNDEBUG -D_GNU_SOURCE -I../include" && \
                $(MAKE) install.libs DESTDIR=$(TARGETPREFIX)
        rm -rf $(HOSTPREFIX)/bin/ncurses*
-       rm -rf $(TARGETLIB)/libform* $(TARGETLIB)/libmenu* $(TARGETLIB)/libpanel*
-       rm -rf $(PKG_CONFIG_PATH)/form.pc $(PKG_CONFIG_PATH)/menu.pc $(PKG_CONFIG_PATH)/panel.pc
+       rm -rf $(addprefix $(TARGETLIB)/,libform* libmenu* libpanel*)
+       rm -rf $(addprefix $(PKG_CONFIG_PATH)/,form.pc menu.pc panel.pc)
        mv $(TARGETPREFIX)/bin/ncurses6-config $(HOSTPREFIX)/bin
        $(REWRITE_PKGCONF) $(HOSTPREFIX)/bin/ncurses6-config
        $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/ncurses.pc
index 324acbb98d6c6794f74cd5f2aaf69fffcc3dd486..353e868ff0d0b0b0ff19dd08738998bf506fe4e1 100755 (executable)
@@ -88,6 +88,7 @@ ifeq ($(BOXSERIES), $(filter $(BOXSERIES), hd1 hd2 h7 hd51 bre2ze4k))
        N_CONFIG_OPTS += --enable-pip
 endif
 ifeq  ($(BOXSERIES), $(filter $(BOXSERIES), h7 hd51 bre2ze4k))
+       NEUTRINO_DEPS += $(D)/irqbalance
        N_CONFIG_OPTS += #--enable-dynamicdemux
 endif
 ifeq ($(PLATFORM), $(filter $(PLATFORM), apollo kronos))
index d2d0700801be0c5effbf27c57c8f9f82c8baa1d6..5882d8d7882681cce8e904eb128f47729aef1325 100644 (file)
@@ -98,6 +98,11 @@ HD_IDLE_VER=1.05
 # inadyn-mt - dynamic DNS client, Multi-platform inadyn, inadyn-advanced DDNS client fork.
 INADYN_VER=02.28.10
 
+# 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 each of them to a single unique cpu,
+# so that load is spread as much as possible over an entire processor set, while minimizing cache miss rates for irq handlers.
+IRQBALANCE_VER = 1.9.0
+
 # libjpeg-turbo; a derivative of libjpeg for x86 and x86-64 processors which uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression and decompression
 JPEG_TURBO2_VER = 2.1.2