From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752377AbdDINyX (ORCPT ); Sun, 9 Apr 2017 09:54:23 -0400 Received: from mga03.intel.com ([134.134.136.65]:25297 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752112AbdDINyO (ORCPT ); Sun, 9 Apr 2017 09:54:14 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,177,1488873600"; d="scan'208";a="1133164275" From: Chen Yu To: Chen Yu Cc: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Prarit Bhargava , "Rafael J. Wysocki" , Len Brown , x86@kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] x86/irq: Do not check available vectors if current CPU has no irq to migrate Date: Sun, 9 Apr 2017 21:53:51 +0800 Message-Id: <1491746031-31107-1-git-send-email-yu.c.chen@intel.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Prarit Bhargava Cc: "Rafael J. Wysocki" Cc: Len Brown Cc: x86@kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Chen Yu --- 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