diff --git a/backport-remove-no-existing-irq-in-banned_irqs.patch b/backport-remove-no-existing-irq-in-banned_irqs.patch new file mode 100644 index 0000000..6e53346 --- /dev/null +++ b/backport-remove-no-existing-irq-in-banned_irqs.patch @@ -0,0 +1,46 @@ +From 066499ad5231a8a8d37f08a3af5dd6c38431ce6f Mon Sep 17 00:00:00 2001 +From: liuchao173 <55137861+liuchao173@users.noreply.github.com> +Date: Fri, 7 May 2021 20:48:32 +0800 +Subject: [PATCH] remove no existing irq in banned_irqs + +when a banned irq doesn't exist, it won't be removed from banned_irqs + +Conflict:NA +Reference:https://github.com/Irqbalance/irqbalance/pull/183/commits/066499ad5231a8a8d37f08a3af5dd6c38431ce6f +--- + classify.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/classify.c b/classify.c +index 105ecd6..c08144f 100644 +--- a/classify.c ++++ b/classify.c +@@ -869,8 +869,16 @@ static void remove_no_existing_irq(struct irq_info *info, void *data __attribute + } + + entry = g_list_find_custom(interrupts_db, info, compare_ints); +- if (entry) ++ if (entry) { + interrupts_db = g_list_delete_link(interrupts_db, entry); ++ log(TO_CONSOLE, LOG_INFO, "IRQ %d is removed from interrupts_db.\n", info->irq); ++ } ++ ++ entry = g_list_find_custom(banned_irqs, info, compare_ints); ++ if (entry) { ++ banned_irqs = g_list_delete_link(banned_irqs, entry); ++ log(TO_CONSOLE, LOG_INFO, "IRQ %d is removed from banned_irqs.\n", info->irq); ++ } + + entry = g_list_find_custom(rebalance_irq_list, info, compare_ints); + if (entry) +@@ -882,7 +890,6 @@ static void remove_no_existing_irq(struct irq_info *info, void *data __attribute + info->assigned_obj->interrupts = g_list_delete_link(info->assigned_obj->interrupts, entry); + } + } +- log(TO_CONSOLE, LOG_INFO, "IRQ %d is removed from interrupts_db.\n", info->irq); + free_irq(info, NULL); + } + +-- +2.23.0 + diff --git a/irqbalance.spec b/irqbalance.spec index b145afe..b127e57 100644 --- a/irqbalance.spec +++ b/irqbalance.spec @@ -1,7 +1,7 @@ Summary: A dynamic adaptive IRQ balancing daemon Name: irqbalance Version: 1.7.0 -Release: 13 +Release: 14 Epoch: 3 License: GPLv2 Source0: https://github.com/Irqbalance/irqbalance/archive/irqbalance-%{version}.tar.gz @@ -32,6 +32,7 @@ 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 %description Irqbalance is a daemon to help balance the cpu load generated by @@ -89,6 +90,12 @@ fi /sbin/chkconfig --del %{name} >/dev/null 2>&1 || : %changelog +* 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