when parsing /proc/interrupts and if a chip name start with numbers, current procedure would consider those numbers as interrupt count thus lead to miscount. Failed parsing would trigger new parsing and cause dead loop which can't be stopped by SIGINT and SIGTERM. So fix this by adding signal checks in loop. Signed-off-by: qinyu <qinyu32@huawei.com>
274 lines
6.6 KiB
RPMSpec
274 lines
6.6 KiB
RPMSpec
Summary: A dynamic adaptive IRQ balancing daemon
|
|
Name: irqbalance
|
|
Version: 1.8.0
|
|
Release: 8
|
|
Epoch: 3
|
|
License: GPLv2
|
|
Source0: https://github.com/Irqbalance/irqbalance/archive/v%{version}.tar.gz#/irqbalance-%{version}.tar.gz
|
|
Source1: irqbalance.service
|
|
Source2: irq_balancer
|
|
Url: https://github.com/irqbalance/irqbalance
|
|
|
|
BuildRequires: autoconf automake libtool libcap-ng systemd
|
|
BuildRequires: glib2-devel pkgconf libcap-ng-devel
|
|
|
|
Requires: ncurses-libs
|
|
|
|
%ifnarch %{arm}
|
|
BuildRequires: numactl-devel
|
|
Requires: numactl-libs
|
|
%endif
|
|
|
|
%define _hardened_build 1
|
|
|
|
Patch6000: bugfix-fix-unsigned-integer-subtraction-sign-overflow.patch
|
|
Patch6001: bugfix-parse_proc_interrupts-fix-parsing-interrupt-counts.patch
|
|
Patch6002: bugfix-add-keep_going-check-to-prevent-irqbalance-from-failing-to-exit-after-SIGTERM.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 --without-irqbalance-ui
|
|
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
|
|
* Tue Jul 12 2022 qinyu <qinyu32@huawei.com> - 3:1.8.0-8
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:fix potential dead loop when parsing interrupts
|
|
|
|
* Mon Feb 21 2022 Liu Chao <liuchao173@huawei.com> - 3:1.8.0-7
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:don't compile irqbalance-ui which is not delivered
|
|
|
|
* Sat Jan 15 2022 Liu Chao <liuchao173@huawei.com> - 3:1.8.0-6
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC: remove --hintpolicy to avoid startup fails and useless file irqbalance.rules
|
|
|
|
* Thu Nov 11 2021 Liu Chao <liuchao173@huawei.com> - 3:1.8.0-5
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:remove feature patches
|
|
|
|
* Mon Nov 1 2021 Liu Chao <liuchao173@huawei.com> - 3:1.8.0-4
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:set hint->name in add_new_irq to avoid segmentation fault
|
|
|
|
* Wed Aug 25 2021 Liu Chao <liuchao173@huawei.com> - 3:1.8.0-3
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:fix unsigned integer subtraction sign overflow
|
|
|
|
* Tue Aug 24 2021 Liu Chao <liuchao173@huawei.com> - 3:1.8.0-2
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:fix opendir fails in check_platform_device
|
|
|
|
* Sat Apr 17 2021 Liu Chao <liuchao173@huawei.com> - 3:1.8.0-1
|
|
- Type:enhanced
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:upgrade to v1.8.0
|
|
|
|
* Fri Apr 9 2021 Liu Chao <liuchao173@huawei.com> - 3:1.7.0-5
|
|
- Type:enhanced
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:backport patches
|
|
|
|
* Tue Mar 2 2021 Liu Chao <liuchao173@huawei.com> - 3:1.7.0-4
|
|
- Type:enhanced
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:remove PIDFile in irqbalance.service and add IRQBALANCE_BANNED_INTERRUPTS in irqbalance.sysconfig
|
|
|
|
* Tue Jan 5 2021 Yunfeng Ye<yeyunfeng@huawei.com> - 3:1.7.0-3
|
|
- Type:enhanced
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:support IRQBALANCE_BANNED_CPULIST env variable
|
|
|
|
* Thu Sep 10 2020 Chunsheng Luo <luochunsheng@huawei.com> - 3:1.7.0-2
|
|
- Type:enhanced
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC:fixup SOURCE0 url
|
|
|
|
* Fri Aug 14 2020 Liu Chao <liuchao173@huawei.com> - 3:1.7.0-1
|
|
- Type:enhanced
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:rebase to v1.7.0
|
|
|
|
* Fri Jul 3 2020 Liu Chao <liuchao173@huawei.com> - 3:1.6.0-1
|
|
- Type:enhanced
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:rebase to v1.6.0
|
|
|
|
* Tue Mar 24 2020 Liu chao <liuchao173@huawei.com> - 3:1.4.0-19
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:refactor patches
|
|
|
|
* Tue Mar 24 2020 Shuaishuai Song <songshuaishuai2@huawei.com> - 3:1.4.0-18
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC: fix no fPIC error
|
|
|
|
* Wed Mar 11 2020 yuxiangyang<yuxiangyang4@huawei.com> - 3:1.4.0-17
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC: fix rpmbuild error on x86_64 architecture
|
|
|
|
* Wed Mar 11 2020 liuchao<liuchao173@huawei.com> - 3:1.4.0-16
|
|
- Type:enhanced
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:synchronize patches
|
|
|
|
* Mon Dec 30 2019 yuxiangyang<yuxiangyang4@huawei.com> - 3:1.4.0-15
|
|
- Type:enhanced
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:update Huawei copyright
|
|
|
|
* Thu Dec 26 2019 caomeng<caomeng5@huawei.com> - 3:1.4.0-14
|
|
- Type:NA
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:rename the patch
|
|
|
|
* Fri Dec 20 2019 caomeng<caomeng5@huawei.com> - 3:1.4.0-13
|
|
- Type:NA
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:change the url
|
|
|
|
* Fri Dec 20 2019 liuchao<liuchao173@huawei.com> - 3:1.4.0-12
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:synchronize patches
|
|
|
|
* Wed Nov 13 2019 liuchao<liuchao173@huawei.com> - 3:1.4.0-11
|
|
- Type:other
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:remove backport prefix of community patches
|
|
|
|
* Mon Nov 11 2019 liuchao<liuchao173@huawei.com> - 3:1.4.0-10
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC:add patches from community
|
|
|
|
* Fri Nov 8 2019 liuchao<liuchao173@huawei.com> - 3:1.4.0-9
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC: fix strcat may cause buffer overrun
|
|
|
|
* Thu Oct 17 2019 caomeng<caomeng5@huawei.com> - 3:1.4.0-8
|
|
- Type:other
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC: add help package
|
|
|
|
* Mon Oct 14 2019 liuchao<liuchao173@huawei.com> - 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<hejingxian@huawei.com> - 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<caomeng5@huawei.com> - 3:1.4.0-5
|
|
- Type:other
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC: fix make in parallel way
|
|
|
|
* Fri Aug 30 2019 caomeng<caomeng5@huawei.com> - 3:1.4.0-4
|
|
- Type:other
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC: fix SP comile option
|
|
|
|
* Thu Aug 29 2019 caomeng<caomeng5@huawei.com> - 3:1.4.0-3
|
|
- Type:other
|
|
- ID:NA
|
|
- SUG:NA
|
|
- DESC: openeuler rewrite spec file
|
|
|
|
* Thu Aug 29 2019 caomeng<caomeng5@huawei.com> - 3:1.4.0-2
|
|
- Package init
|
|
|
|
|