irqbalance/irqbalance.spec
qinyu b82a6c9b59 bugfix:fix potential dead loop when parsing interrupts
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>
2022-07-12 16:24:40 +08:00

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