irqbalance: remove no existing irq in banned_irqs

remove no existing irq in banned_irqs

Signed-off-by: qinyu <qinyu32@huawei.com>
This commit is contained in:
qinyu 2023-01-05 15:41:02 +08:00
parent 3a9655c20f
commit 5dfdea86a9
2 changed files with 54 additions and 1 deletions

View File

@ -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

View File

@ -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 <qinyu32@huawei.com> - 3:1.7.0-14
- Type:bugfix
- ID:NA
- SUG:restart
- DESC: remove no existing irq in banned_irqs
* Thu Jan 5 2023 qinyu <qinyu32@huawei.com> - 3:1.7.0-13
- Type:bugfix
- ID:NA