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>
315 lines
8.0 KiB
RPMSpec
315 lines
8.0 KiB
RPMSpec
Summary: A dynamic adaptive IRQ balancing daemon
|
|
Name: irqbalance
|
|
Version: 1.9.0
|
|
Release: 2
|
|
Epoch: 3
|
|
License: GPLv2
|
|
Source0: https://github.com/Irqbalance/irqbalance/archive/v%{version}.tar.gz#/irqbalance-%{version}.tar.gz
|
|
Source1: irqbalance.service
|
|
Source2: irqbalance.sysconfig
|
|
Source3: irqbalance.rules
|
|
Source4: irq_balancer
|
|
Url: https://github.com/irqbalance/irqbalance
|
|
|
|
BuildRequires: 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: bugfix-parse_proc_interrupts-fix-parsing-interrupt-counts.patch
|
|
Patch6001: bugfix-add-keep_going-check-to-prevent-irqbalance-from-failing-to-exit-after-SIGTERM.patch
|
|
|
|
Patch9000: feature-aarch64-add-the-regular-to-get-the-correct-i.patch
|
|
Patch9001: feature-add-new-user-irq-policy-config-rule.patch
|
|
Patch9002: feature-add-the-switch-of-printing-log.patch
|
|
Patch9003: feature-introduce-verifyhint-to-detect-hint-variatio.patch
|
|
Patch9004: feature-add-switch-to-clear-affinity-hint.patch
|
|
Patch9005: feature-add-new-irq-migrate-rule-to-avoid-high-cpu-i.patch
|
|
Patch9006: feature-enable-irqbalance-to-link-with-multiple-clie.patch
|
|
Patch9007: feature-add-ability-to-set-hintpolicy-during-runtime.patch
|
|
Patch9008: feature-encapsulate-and-compile-the-functions-in-irqbalance-ui.patch
|
|
Patch9010: bugfix-set-hint-name-in-add_new_irq-to-avoid-segment.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 devel
|
|
Summary: The development files of irqbalance client
|
|
Requires: glib2-devel ncurses-devel irqbalance-libs
|
|
|
|
%description devel
|
|
Development files for irqbalance client.
|
|
|
|
%package libs
|
|
Summary: The shared librariy of irqbalance client
|
|
Requires: glib2 ncurses-libs
|
|
|
|
%description libs
|
|
Shared librariy for irqbalance client.
|
|
|
|
%package_help
|
|
|
|
%prep
|
|
%autosetup -p1
|
|
|
|
%build
|
|
./autogen.sh
|
|
%configure
|
|
CFLAGS="%{optflags}" %make_build CFLAGS+='-fstack-protector-strong '
|
|
cd ui
|
|
rm -rf *.o
|
|
make
|
|
cd -
|
|
|
|
%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 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
|
|
install -D -p -m 0755 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/%{name}.rules
|
|
install -D -p -m 0755 %{SOURCE4} %{buildroot}%{_sbindir}/irq_balancer
|
|
|
|
install -D -p -m 0755 ui/irqbalance_client.h %{buildroot}/%{_includedir}/irqbalance_client.h
|
|
install -D -p -m 0755 ui/libirqbalance_client.so %{buildroot}/%{_libdir}/libirqbalance_client.so
|
|
|
|
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}
|
|
%{_sysconfdir}/sysconfig/%{name}.rules
|
|
%{_sbindir}/irq_balancer
|
|
|
|
%files devel
|
|
%{_includedir}/irqbalance_client.h
|
|
|
|
%files libs
|
|
%{_libdir}/libirqbalance_client.so
|
|
|
|
%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.9.0-2
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC: fix potential dead loop when parsing interrupts
|
|
|
|
* Thu Jul 7 2022 Liu Chao <liuchao173@huawei.com> - 3:1.9.0-1
|
|
- Type:enhanced
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC: upgrade to v1.9.0
|
|
|
|
* Thu Jun 2 2022 Liu Chao <liuchao173@huawei.com> - 3:1.8.0-6
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC: assign pol to -1 when user_policy_list isn't NULL
|
|
|
|
* Tue Apr 12 2022 Liu Chao <liuchao173@huawei.com> - 3:1.8.0-5
|
|
- Type:bugfix
|
|
- ID:NA
|
|
- SUG:restart
|
|
- DESC: fix irqbalance-ui build error when ncuses upgrades to 6.3
|
|
|
|
* 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 15 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
|
|
|
|
|