Summary: A dynamic adaptive IRQ balancing daemon Name: irqbalance Version: 1.7.0 Release: 20 Epoch: 3 License: GPLv2 Source0: https://github.com/Irqbalance/irqbalance/archive/irqbalance-%{version}.tar.gz Source1: irqbalance.service Source2: irq_balancer Url: https://github.com/irqbalance/irqbalance BuildRequires: gdb autoconf automake libtool libcap-ng systemd BuildRequires: glib2-devel pkgconf libcap-ng-devel ncurses-devel Requires: ncurses-libs %ifnarch %{arm} BuildRequires: numactl-devel Requires: numactl-libs %endif %define _hardened_build 1 Patch6000: fix-unsigned-integer-subtraction-sign-overflow.patch Patch6001: backport-activate_mapping-activate-only-online-CPUs.patch Patch6002: backport-log-correctly-for-isolated-and-nohz_full-cpus.patch Patch6003: backport-add-irq-hotplug-feature-for-irqbalance.patch Patch6004: backport-Add-log-for-hotplug-appropriately.patch Patch6005: backport-Add-hot-pull-method-for-irqbalance.patch Patch6006: backport-Also-fetch-node-info-for-non-PCI-devices.patch Patch6007: backport-Hotplug-may-occur-again-during-sleep-so-wait-until-t.patch Patch6008: backport-Add-return-value-check-of-opendir-in-do_one_cpu.patch Patch6009: backport-Fix-irqbalance-cannot-obtain-the-full-name-of-irq.patch Patch6010: backport-Fix-compile-issue-with-none-AARCH64-builds.patch Patch6011: backport-remove-no-existing-irq-in-banned_irqs.patch Patch6012: backport-Add-0-to-the-end-of-strings-to-avoid-heap-buffer-ove.patch Patch6013: backport-Fix-parse_proc_interrupts-fix-parsing-interrupt-counts.patch Patch6014: backport-Fix-add-keep_going-check-to-prevent-irqbalance-from-failing-to-exit-after-SIGTERM.patch Patch6015: backport-fix-opendir-fails-in-check_platform_device.patch Patch6016: backport-check-whether-savedptr-is-NULL-before-invoking-strle.patch Patch6017: backport-procinterrupts-Fix-IRQ-name-parsing-on-certain-arm64.patch %description 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. %package_help %prep %autosetup -p1 %build ./autogen.sh %configure CFLAGS="%{optflags}" %make_build CFLAGS+='-fstack-protector-strong ' %install install -D -p -m 0755 %{name} %{buildroot}%{_sbindir}/%{name} install -D -p -m 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}.service install -D -p -m 0644 ./misc/irqbalance.env %{buildroot}%{_sysconfdir}/sysconfig/%{name} install -D -p -m 0755 %{SOURCE2} %{buildroot}%{_sbindir}/irq_balancer install -d %{buildroot}%{_mandir}/man1/ install -p -m 0644 ./%{name}.1 %{buildroot}%{_mandir}/man1/ %check make check %files %doc COPYING AUTHORS %{_sbindir}/%{name} %{_unitdir}/%{name}.service %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %{_sbindir}/irq_balancer %files help %{_mandir}/man1/* %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %triggerun -- %{name} < 2:0.56-3 if /sbin/chkconfig --level 3 %{name} ; then /bin/systemctl enable %{name}.service >/dev/null 2>&1 || : fi /sbin/chkconfig --del %{name} >/dev/null 2>&1 || : %changelog * Thu Jan 5 2023 qinyu - 3:1.7.0-20 - Type:bugfix - ID:NA - SUG:restart - DESC: procinterrupts: Fix IRQ name parsing on certain arm64 SoC * Thu Jan 5 2023 qinyu - 3:1.7.0-19 - Type:bugfix - ID:NA - SUG:restart - DESC: check whether savedptr is NULL before invoking strlen * Thu Jan 5 2023 qinyu - 3:1.7.0-18 - Type:bugfix - ID:NA - SUG:restart - DESC: fix opendir fails in check_platform_device * Thu Jan 5 2023 qinyu - 3:1.7.0-17 - Type:bugfix - ID:NA - SUG:restart - DESC: add keep_going check to prevent irqbalance from failing to exit after SIGTERM * Thu Jan 5 2023 qinyu - 3:1.7.0-16 - Type:bugfix - ID:NA - SUG:restart - DESC: parse_proc_interrupts: fix parsing interrupt counts * Thu Jan 5 2023 qinyu - 3:1.7.0-15 - Type:bugfix - ID:NA - SUG:restart - DESC: Add '\0' to the end of strings to avoid heap buffer overflow * Thu Jan 5 2023 qinyu - 3:1.7.0-14 - Type:bugfix - ID:NA - SUG:restart - DESC: remove no existing irq in banned_irqs * Thu Jan 5 2023 qinyu - 3:1.7.0-13 - Type:bugfix - ID:NA - SUG:restart - DESC: Fix compile issue with none AARCH64 builds * Thu Jan 5 2023 qinyu - 3:1.7.0-12 - Type:bugfix - ID:NA - SUG:restart - DESC: Fix irqbalance cannot obtain the full name of irq * Thu Jan 5 2023 qinyu - 3:1.7.0-11 - Type:bugfix - ID:NA - SUG:restart - DESC: Add return value check of opendir in do_one_cpu * Thu Jan 5 2023 qinyu - 3:1.7.0-10 - Type:bugfix - ID:NA - SUG:restart - DESC: Hotplug may occur again during sleep, so wait until there is no hotplug * Thu Jan 5 2023 qinyu - 3:1.7.0-9 - Type:bugfix - ID:NA - SUG:restart - DESC: Also fetch node info for non-PCI devices * Thu Jan 5 2023 qinyu - 3:1.7.0-8 - Type:bugfix - ID:NA - SUG:restart - DESC: Add hot pull method for irqbalance * Thu Jan 5 2023 qinyu - 3:1.7.0-7 - Type:bugfix - ID:NA - SUG:restart - DESC: add irq hotplug feature for irqbalance * Thu Jan 5 2023 qinyu - 3:1.7.0-6 - Type:bugfix - ID:NA - SUG:restart - DESC: log correctly for isolated and nohz_full cpus * Thu Jan 5 2023 qinyu - 3:1.7.0-5 - Type:bugfix - ID:NA - SUG:restart - DESC: activate_mapping: activate only online CPUs * Wed Aug 25 2021 Liu Chao - 3:1.7.0-4 - Type:bugfix - ID:NA - SUG:restart - DESC:fix unsigned integer subtraction sign overflow * Mon May 10 2021 Liu Chao - 3:1.7.0-3 - Type:bugfix - ID:NA - SUG:restart - DESC:remove PIDFile in irqbalance.service * Wed Nov 11 2020 xinghe - 3:1.7.0-2 - add help for Recommends * Fri Aug 14 2020 Liu Chao - 3:1.7.0-1 - Type:enhanced - ID:NA - SUG:restart - DESC:rebase to v1.7.0 * Fri Jul 3 2020 Liu Chao - 3:1.6.0-1 - Type:enhanced - ID:NA - SUG:restart - DESC:rebase to v1.6.0 * Tue Mar 24 2020 Liu chao - 3:1.4.0-19 - Type:bugfix - ID:NA - SUG:restart - DESC:refactor patches * Tue Mar 24 2020 Shuaishuai Song - 3:1.4.0-18 - Type:bugfix - ID:NA - SUG:restart - DESC: fix no fPIC error * Wed Mar 11 2020 yuxiangyang - 3:1.4.0-17 - Type:bugfix - ID:NA - SUG:restart - DESC: fix rpmbuild error on x86_64 architecture * Wed Mar 11 2020 liuchao - 3:1.4.0-16 - Type:enhanced - ID:NA - SUG:restart - DESC:synchronize patches * Mon Dec 30 2019 yuxiangyang - 3:1.4.0-15 - Type:enhanced - ID:NA - SUG:restart - DESC:update Huawei copyright * Thu Dec 26 2019 caomeng - 3:1.4.0-14 - Type:NA - ID:NA - SUG:restart - DESC:rename the patch * Fri Dec 20 2019 caomeng - 3:1.4.0-13 - Type:NA - ID:NA - SUG:restart - DESC:change the url * Fri Dec 20 2019 liuchao - 3:1.4.0-12 - Type:bugfix - ID:NA - SUG:restart - DESC:synchronize patches * Wed Nov 13 2019 liuchao - 3:1.4.0-11 - Type:other - ID:NA - SUG:restart - DESC:remove backport prefix of community patches * Mon Nov 11 2019 liuchao - 3:1.4.0-10 - Type:bugfix - ID:NA - SUG:restart - DESC:add patches from community * Fri Nov 8 2019 liuchao - 3:1.4.0-9 - Type:bugfix - ID:NA - SUG:NA - DESC: fix strcat may cause buffer overrun * Thu Oct 17 2019 caomeng - 3:1.4.0-8 - Type:other - ID:NA - SUG:NA - DESC: add help package * Mon Oct 14 2019 liuchao - 3:1.4.0-7 - Type: bugfix - ID:NA - SUG:NA - DESC: make the return value of getline handled correct and change irq ban check path to devpath * Mon Sep 23 2019 hejingxian - 3:1.4.0-6 - Type: enhancement - ID:NA - SUG:NA - DESC: add avoid duplicate-entry insert, guess_arm_irq_hints and new config rule patches * Thu Sep 12 2019 caomeng - 3:1.4.0-5 - Type:other - ID:NA - SUG:NA - DESC: fix make in parallel way * Fri Aug 30 2019 caomeng - 3:1.4.0-4 - Type:other - ID:NA - SUG:NA - DESC: fix SP comile option * Thu Aug 29 2019 caomeng - 3:1.4.0-3 - Type:other - ID:NA - SUG:NA - DESC: openeuler rewrite spec file * Thu Aug 29 2019 caomeng - 3:1.4.0-2 - Package init