Summary: A dynamic adaptive IRQ balancing daemon Name: irqbalance Version: 1.6.0 Release: 1 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 Patch0001:Fix-spelling-errors.patch Patch0002:Clarify-the-README-description.patch Patch0003:use-policy-prior-to-the-default-values.patch Patch0004:some-variable-and-judgement-are-unnecessary-in-activ.patch Patch0005:fix-sleep-interval-when-sleep_interval-is-changed-by.patch Patch0006:Add-stub-manpage-for-irqbalance-ui.patch Patch0007:Capitalize-HOMEPAGE-in-irqbalance.1.patch Patch0008:Add-irqbalance-ui.1-to-dist_man_MANS.patch Patch0009:improve-comments-in-env-file.patch Patch0010:fix-guess_arm_irq_hints.patch Patch0011:fix-the-pid-file-generates-too-late-problem.patch Patch0012:change-path-to-devpath.patch Patch0013:Add-optional-config-file-in-usr-lib.patch Patch0014:make-the-return-value-of-getline-handled-correct.patch Patch0015:remove-unused-path-in-check_for_irq_ban.patch Patch0016:Update-classify.c.patch Patch0017:delete-unused-local-variables-in-parse_proc_interrup.patch Patch0018:Checking-return-value-of-strdup-in-collect_full_irq_.patch Patch0019:getline-clean-up-freeing-of-lines-from-getline.patch Patch0020:free-the-memory-when-getline-fail-in-add_one_node.patch Patch0021:prevent-NULL-pointer-dereference-when-memory-allocat.patch Patch0022:fix-resource-leak-for-not-invoking-closedir-after-op.patch Patch0023:correct-to-use-realloc-function.patch Patch0024:reduce-redundant-code-for-file-processing.patch Patch0025:fix-the-problem-of-banmod-that-memory-is-freed-befor.patch Patch0026:when-devpath-is-NULL-skip-reading-files.patch Patch0027:remove-c-in-parse_proc_interrupts.patch Patch0028:fix-resource-leak-on-the-error-paths-in-main.patch Patch0029:reduce-redundant-check-in-add_missing_irq.patch Patch0030:delete-the-useless-free-for-banned_irqs-in-free_cl_o.patch Patch0031:irqbalance-use-isdigit-instead-of-the-logic-of-chara.patch Patch0032:irqbalance-use-g_list_free_full-in-clear_cpu_tree.patch Patch0033:irqbalance-remove-unused-package_count-variable.patch Patch0034:irqbalance-modify-the-order-of-input-parameter-for-c.patch Patch0035:irqbalance-use-g_list_find-instead-of-the-search-log.patch Patch0036:irqbalance-prevent-NULL-pointer-dereference-in-do_on.patch Patch0037:irqbalance-use-NUMA_NO_NODE-macro-instead-of-1-for-n.patch Patch0038:irqbalance-use-num_online_cpus-instead-core_count.patch Patch0039:irqbalance-initialize-package_mask-before-using-in-d.patch Patch0040:irqbalance-use-add_one_node-to-create-unspecified-no.patch Patch0041:fix-invalid-pointer-dereference-banned_cpumask_from_.patch Patch0042:irqbalance-use-process_one_line-instead-of-fscanf.patch Patch0043:irqbalance-remove-redundancy-check-in-add_one_irq_to.patch Patch0044:free-polscript-if-irqbalance-exit.patch Patch0045:free-polscript-to-avoid-resource-leak.patch Patch0046:irqbalance-use-add_new_irq-instead-of-the-same-logic.patch Patch0047:make-the-option-V-closer-to-the-option-with-no-arg.patch Patch0048:improve-irq-migrate-rule-to-avoid-high-irq-load.patch Patch0049:free-cpu_ban_string-when-the-next-request-come.patch Patch0050:Correct-typos-in-irqbalance.c.patch Patch0051:arm64-Add-irq-aff-change-check.patch Patch0052:Fix-typo-in-service-unit-file.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 * 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