| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
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 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>
|
|
|
|
|
|
|
| |
Update irqbalance to version 1.9.3.
* remove upstreamed patch.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Update irqbalance version to 1.9.1
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Apply post-1.9.0 patch from upstream to fix the irq-->module
relation detection.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Upgrade irqbalance to version 1.8.0
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
|
|
|
|
|
|
|
| |
Update irqbalance to version 1.7.0
Refresh patches.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
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>
|