[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1491746031-31107-1-git-send-email-yu.c.chen@intel.com>
Date: Sun, 9 Apr 2017 21:53:51 +0800
From: Chen Yu <yu.c.chen@...el.com>
To: Chen Yu <yu.c.chen@...el.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Prarit Bhargava <prarit@...hat.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Len Brown <len.brown@...el.com>, x86@...nel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] x86/irq: Do not check available vectors if current CPU has no irq to migrate
This is an optimization to bypass the free vector checking if the current
CPU has no irq to migrate. This can especially speed up the CPU offline
process when there are many CPUs in the system.
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Ingo Molnar <mingo@...hat.com>
Cc: "H. Peter Anvin" <hpa@...or.com>
Cc: Prarit Bhargava <prarit@...hat.com>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@...el.com>
Cc: Len Brown <len.brown@...el.com>
Cc: x86@...nel.org
Cc: linux-kernel@...r.kernel.org
Signed-off-by: Chen Yu <yu.c.chen@...el.com>
---
arch/x86/kernel/irq.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index 4d8183b..b9bdc1e 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -394,6 +394,9 @@ int check_irq_vectors_for_cpu_disable(void)
!cpumask_subset(&affinity_new, &online_new))
this_count++;
}
+ /* No need to check any further. */
+ if (!this_count)
+ return 0;
count = 0;
for_each_online_cpu(cpu) {
--
2.7.4
Powered by blists - more mailing lists