Commit Graph

29 Commits

Author SHA1 Message Date
Robert Marko 272f55e87f treewide: refresh hashes after move to use ZSTD as default
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>
2024-04-07 12:06:34 +02:00
Hannu Nyman b8d0049e7c irqbalance: update to version 1.9.4
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>
2024-03-24 23:23:16 +02:00
krant 41e5b979f5 irqbalance Update init script to remove duplicate spaces
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>
2024-03-07 16:48:05 +02:00
Hannu Nyman 78c4791f42 irqbalance: Fix log spam and correct meson version
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>
2023-12-09 12:13:27 +02:00
Hannu Nyman b8298a9b91 irqbalance: update to 1.9.3
Update irqbalance to version 1.9.3.
* remove upstreamed patch.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2023-11-12 22:42:44 +02:00
Hentioe Cl e1ff9619a3 irqbalance: add banned_cpulist option
Configure CPUs to ignore with `IRQBALANCE_BANNED_CPULIST` environment variable

Signed-off-by: Hentioe Cl <meow.i5.br@gmail.com>
[added PKG_RELEASE bump]
2023-08-05 10:06:32 +03:00
Hannu Nyman 22188b42bd irqbalance: Add upstream fix for AARCH64 irq name parsing
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>
2023-02-15 23:51:58 +02:00
Hannu Nyman 5c8d0939e8 irqbalance: update to 1.9.2
Update irqbalance to version 1.9.2.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2022-11-06 19:31:05 +02:00
Hannu Nyman c1582e1ad0 irqbalance: update to 1.9.1
Update irqbalance version to 1.9.1

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2022-10-18 17:57:16 +03:00
Rosen Penev 59cadc7c65 irqbalance: add meson
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>
2022-07-19 16:19:05 +03:00
Rui Salvaterra d9447cfdc2 irqbalance: handle deepestcache option
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>
2022-06-23 12:44:17 +03:00
Hannu Nyman ab7a23102e irqbalance: upstream patch to fix segfault
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>
2022-06-12 20:26:02 +03:00
Hannu Nyman 358c2293fa irqbalance: upstream patch to fix irq-module relation
Apply post-1.9.0 patch from upstream to fix the irq-->module
relation detection.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2022-06-12 20:24:36 +03:00
Hannu Nyman 8e71e0ad97 irqbalance: remove local patch for socket directory
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>
2022-06-04 14:12:28 +03:00
Hannu Nyman e9002ff3d9 irqbalance: update to 1.9.0
Update irqbalance to version 1.9.0
* adopt AUTORELEASE

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2022-06-04 13:16:40 +03:00
Hannu Nyman 6631cfaa61 irqbalance: upgrade to version 1.8.0
Upgrade irqbalance to version 1.8.0

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2021-04-18 18:26:43 +03:00
Hannu Nyman a32b41d3f0 irqbalance: update to 1.7.0
Update irqbalance to version 1.7.0
Refresh patches.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2020-08-11 23:45:20 +03:00
Hannu Nyman 4f0c847828 irqbalance: fix socket directory and create it
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>
2020-06-17 23:29:13 +03:00
Huangbin Zhan 0ec746ccb6 treewide: add conffiles
Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
2020-05-09 06:06:43 +08:00
Ian Cooper 88c25e87a1 irqbalance: fix compilation for USE_GLIBC and BUILD_NLS cases
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>
2020-04-28 06:37:50 +01:00
Marc Benoit b6078559cd irqbalance: support reload_config & start later
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>
2020-03-03 07:58:27 -05:00
Marc Benoit b7a99b2334 irqbalance: add support of interval and banirq
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>
2020-02-29 09:39:13 -05:00
Marc Benoit bdcb872a40 irqbalance: upgrade to 1.6.0
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>
2020-02-29 07:20:47 -05:00
Hannu Nyman 982c389732 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>
2019-06-02 12:43:08 +03:00
Aleksandr Mezin df14fa949f irqbalance: add init script
Signed-off-by: Aleksandr Mezin <mezin.alexander@gmail.com>
2019-06-02 12:13:53 +03:00
Hannu Nyman 0cb6e15f01 irqbalance: fix AARCH64 compilation
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>
2018-07-19 21:37:30 +03:00
Hannu Nyman a1a96fc9fa irqbalance: add PKG_MIRROR_HASH
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-04-27 23:52:14 +03:00
Hannu Nyman c42ecd05a1 irqbalance: avoid external glib2
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>
2017-02-08 11:12:39 +02:00
Hannu Nyman c5913bd12d irqbalance: add package
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>
2017-02-08 00:26:58 +02:00