diff --git a/sys-apps/irqbalance/files/irqbalance.init.6 b/sys-apps/irqbalance/files/irqbalance.init.6 new file mode 100644 index 0000000000000..85b4542ebb751 --- /dev/null +++ b/sys-apps/irqbalance/files/irqbalance.init.6 @@ -0,0 +1,22 @@ +#!/sbin/openrc-run +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License, v2 or later + +depend() { + need localmount + after bootmisc +} + +command="/usr/sbin/irqbalance" +command_args="${IRQBALANCE_OPTS}" + +start_pre() { + if grep -q MSI /proc/interrupts 2>/dev/null && \ + test -z "$(find /sys/devices -type d -name msi_irqs 2>/dev/null)"; then + eerror "MSI interrupts found in /proc/interrupts but none found in sysfs." + eerror "You need to update your kernel." + return 1 + fi + + checkpath -q -d /run/${SVCNAME} +} diff --git a/sys-apps/irqbalance/irqbalance-1.9.5.ebuild b/sys-apps/irqbalance/irqbalance-1.9.5.ebuild index baee28d3384a9..13299f86e3fcc 100644 --- a/sys-apps/irqbalance/irqbalance-1.9.5.ebuild +++ b/sys-apps/irqbalance/irqbalance-1.9.5.ebuild @@ -54,7 +54,7 @@ src_configure() { src_install() { meson_src_install - newinitd "${FILESDIR}"/irqbalance.init.5 irqbalance + newinitd "${FILESDIR}"/irqbalance.init.6 irqbalance newconfd "${FILESDIR}"/irqbalance.confd-2 irqbalance udev_dorules misc/90-irqbalance.rules }