aboutsummaryrefslogtreecommitdiff
path: root/utils/irqbalance
Commit message (Collapse)AuthorAge
* treewide: refresh hashes after move to use ZSTD as defaultRobert Marko2024-04-07
| | | | | | | | With the recent move to using ZSTD as the default compression format for packaging git repo clones we must refresh all of the hashes for the packages feed as well. Signed-off-by: Robert Marko <robimarko@gmail.com>
* irqbalance: update to version 1.9.4Hannu Nyman2024-03-24
| | | | | | | | | | Update irqbalance to version 1.9.4. * refresh version in meson patch * remove EINVAL handling patch as upstream seems to have silenced the log spam for unmanageable IRQs Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance Update init script to remove duplicate spaceskrant2024-03-07
| | | | | | | | | | | | | I have some strange issues with irqbalance sometimes overwritin smp_affinity values for banned/ignored IRQs. The issue is reproduceable and is mitigated when I change theway how the irqbalance command line is built. The only difference between the resulting command is that there is only one space between the -t parameter and the first -i parameter value. Also see https://github.com/Irqbalance/irqbalance/issues/297 Signed-off-by: Carsten Schuette <schuettecarsten@googlemail.com>
* irqbalance: Fix log spam and correct meson versionHannu Nyman2023-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | Irqbalance 1.9.3 changed the handling of certain errors. Specifically EINVAL, trying to set an invalid CPU core, was changed to be a temporary error, causing log spam from repeated balancing runs in some devices. See log and strace below. Mark EINVAL as permanent. Also correct the version in our own meson.build patch. Log and strace: Sat Dec 9 10:17:27 2023 daemon.warn irqbalance: Cannot change IRQ 48 affinity: Invalid argument open("/proc/irq/48/smp_affinity", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 6 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ed9000 ioctl(6, TIOCGWINSZ, 0xbeb134e8) = -1 ENOTTY (Not a tty) writev(6, [{iov_base="00000001", iov_len=8}, {iov_base=NULL, iov_len=0}], 2) = -1 EINVAL (Invalid argument) close(6) = 0 munmap(0xb6ed9000, 4096) = 0 clock_gettime64(CLOCK_REALTIME, {tv_sec=1702109847, tv_nsec=340549081}) = 0 sendto(5, "<28>Dec 9 08:17:27 irqbalance: "..., 80, 0, NULL, 0) = 80 writev(1, [{iov_base="Cannot change IRQ 48 affinity: I"..., iov_len=47}, {iov_base="\n", iov_len=1}], 2Cannot change IRQ 48 affinity: Invalid argument ) = 48 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: update to 1.9.3Hannu Nyman2023-11-12
| | | | | | | Update irqbalance to version 1.9.3. * remove upstreamed patch. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: add banned_cpulist optionHentioe Cl2023-08-05
| | | | | | | Configure CPUs to ignore with `IRQBALANCE_BANNED_CPULIST` environment variable Signed-off-by: Hentioe Cl <meow.i5.br@gmail.com> [added PKG_RELEASE bump]
* irqbalance: Add upstream fix for AARCH64 irq name parsingHannu Nyman2023-02-15
| | | | | | | | | | | | | | Add upstream fix for AARCH64 irq name parsing. > On arm64 SoCs like TI's K3 SoC and few other SoCs, > IRQ names don't get parsed correct due to which they > end up being classified into wrong class. Fix this by > considering last token to contain IRQ name always. The fix seems to enable e.g. RT3200 to notice a few more interrupts and start balancing them. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: update to 1.9.2Hannu Nyman2022-11-06
| | | | | | Update irqbalance to version 1.9.2. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: update to 1.9.1Hannu Nyman2022-10-18
| | | | | | Update irqbalance version to 1.9.1 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: add mesonRosen Penev2022-07-19
| | | | | | | | | | Fixes compilation when libiconv is missing. Also remove pthread from glibc. No longer needed. Cleanup Makefile for consistency between packages. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* irqbalance: handle deepestcache optionRui Salvaterra2022-06-23
| | | | | | | Allow the user to specify the level at which irqbalance assumes the cache domains are partitioned. Keep the default value of 2. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* irqbalance: upstream patch to fix segfaultHannu Nyman2022-06-12
| | | | | | | | | Apply post-1.9.0 patch from upstream to fix a segfault. savedptr can be NULL, so guard for that. Fixes #18741 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: upstream patch to fix irq-module relationHannu Nyman2022-06-12
| | | | | | | Apply post-1.9.0 patch from upstream to fix the irq-->module relation detection. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: remove local patch for socket directoryHannu Nyman2022-06-04
| | | | | | | | | | | Upstream has finally patched the UI communication socket creation to happen only if the irqbalance UI is enabled. As we do not use the irqbalance UI, we can remove our local fix implemented by 4f0c847828. (If you want to enable irqbalance UI, the fix is still needed.) Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: update to 1.9.0Hannu Nyman2022-06-04
| | | | | | | Update irqbalance to version 1.9.0 * adopt AUTORELEASE Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: upgrade to version 1.8.0Hannu Nyman2021-04-18
| | | | | | Upgrade irqbalance to version 1.8.0 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: update to 1.7.0Hannu Nyman2020-08-11
| | | | | | | Update irqbalance to version 1.7.0 Refresh patches. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: fix socket directory and create itHannu Nyman2020-06-17
| | | | | | | | | | | | | | | | Irqbalance defines /run/irqbalance dir for its socket communication between irqbalance and its UI. /run does not exist in OpenWrt (although it is defined by the Linux FHS), so the socket creation fails. Although we do not compile UI and thus the issue is not critical to us, fix the directory location. Additionally, the creation is originally handled by a systemd init script that we do not use. * patch source to define dir as /var/run/irqbalance * create the dir in the procd init script. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* treewide: add conffilesHuangbin Zhan2020-05-09
| | | | Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
* irqbalance: fix compilation for USE_GLIBC and BUILD_NLS casesIan Cooper2020-04-28
| | | | | | | | | | | | | | | | | | | | | | | The package Makefile was not taking into consideration that the build may be using BUILD_NLS with libintl-full and libiconv-full and was trying to link the wrong versions of these libraries in this case. The necessary flags are added by nls.mk to TARGET_LDFLAGS and can be passed to irqbalance's configure script for setting the GLIB2_LIBS variable instead of the explicit static link to the libiconv stub. The PKG_BUILD_DEPENDS line should be modified so as to add to and not override the definition set by nls.mk, which will ensure the right version of libiconv and libintl is built beforehand. A DEPENDS:= line should be added to the package definition using the variables defined in nls.mk, which will add the appropriate version of libintl and libiconv (vanilla or -full versions) If USE_GLIBC is true, then libpthread needs to be explicitly passed to the configure script in the GLIB2_LIBS variable for linking. Signed-off-by: Ian Cooper <iancooper@hotmail.com>
* irqbalance: support reload_config & start laterMarc Benoit2020-03-03
| | | | | | | | | | | | | Added support for reload_config This service does not need to start so early (even before the netwrok is up). Start it after the device is mostly up and operational. Compile-tested on: ipq806x Runtime-tested on: ipq806x Signed-off-by: Marc Benoit <marcb62185@gmail.com>
* irqbalance: add support of interval and banirqMarc Benoit2020-02-29
| | | | | | | | Added the ability to change sampling interval and provide a list of IRQ's to ignore via /etc/config/irqbalance Signed-off-by: Marc Benoit <marcb62185@gmail.com>
* irqbalance: upgrade to 1.6.0Marc Benoit2020-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upgraded from 1.2.0 to 1.6.0 to pick up all the latest fixes and improvements irqbalance made glib2 mandatory since 1.3.0, but is using very little of it. glib2 linked statically to minimize the impact. 1.2.0 size: 33,619 1.6.0 size: 99,539 ~# irqbalance --version irqbalance version 1.6.0 ~# ldd /usr/sbin/irqbalance /lib/ld-musl-armhf.so.1 (0xb6f5f000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6f43000) libc.so => /lib/ld-musl-armhf.so.1 (0xb6f5f000) ~# opkg info irqbalance Package: irqbalance Version: 1.6.0-6 Depends: libc Status: install user installed Architecture: arm_cortex-a7_neon-vfpv4 Installed-Time: 1582839249 Compile-tested: ipq806x/R7800 & ipq40xx/GL-B1300 Run-tested: ipq806x/R7800 & ipq40xx/GL-B1300 Signed-off-by: Marc Benoit <marcb62185@gmail.com>
* irqbalance: add support for uci configHannu Nyman2019-06-02
| | | | | | | | | | | | | | | | | 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>
* irqbalance: add init scriptAleksandr Mezin2019-06-02
| | | | Signed-off-by: Aleksandr Mezin <mezin.alexander@gmail.com>
* irqbalance: fix AARCH64 compilationHannu Nyman2018-07-19
| | | | | | | AARCH64 compilation fails due to upstream bug in 1.2.0 that has been later fixed. Backport the fix commit. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: add PKG_MIRROR_HASHHannu Nyman2017-04-27
| | | | Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: avoid external glib2Hannu Nyman2017-02-08
| | | | | | | | | Revert an upstream commit to enable compiling without external glib2. Edit the 'disable UI compilation' patch to match the original upstream commit more closely. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* irqbalance: add packageHannu Nyman2017-02-08
The purpose of irqbalance is to distribute hardware interrupts across processors/cores on a multiprocessor/-core system in order to increase performance. This initial implementation of the package uses external glib2, which is a large dependency. Only the cmd-line tool is compiled and installed. Run-tested with ipq806x / R7800. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>