From mboxrd@z Thu Jan 1 00:00:00 1970 From: "tip-bot for Tian, Kevin" Subject: [tip:x86/irq] x86: Skip migrating IRQF_PER_CPU irqs in fixup_irqs() Date: Thu, 19 May 2011 12:55:06 GMT Message-ID: Reply-To: linux-kernel@vger.kernel.org, mingo@redhat.com, hpa@zytor.com, fengzhe.zhang@intel.com, Ian.Campbell@citrix.com, JBeulich@novell.com, kevin.tian@intel.com, tglx@linutronix.de, xen-devel@lists.xensource.com Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: linux-tip-commits@vger.kernel.org Cc: kevin.tian@intel.com, xen-devel@lists.xensource.com, Ian.Campbell@citrix.com, fengzhe.zhang@intel.com, JBeulich@novell.com, mingo@redhat.com, hpa@zytor.com, tglx@linutronix.de List-Id: xen-devel@lists.xenproject.org Commit-ID: b87ba87ca26e226b2277a2d5613ed596f408e96d Gitweb: http://git.kernel.org/tip/b87ba87ca26e226b2277a2d5613ed596f408e96d Author: Tian, Kevin AuthorDate: Fri, 6 May 2011 14:43:36 +0800 Committer: Thomas Gleixner CommitDate: Thu, 19 May 2011 14:51:08 +0200 x86: Skip migrating IRQF_PER_CPU irqs in fixup_irqs() IRQF_PER_CPU means that the irq cannot be moved away from a given cpu. So it must not be migrated when the cpu goes offline. [ tglx: massaged changelog ] Signed-off-by: Fengzhe Zhang Signed-off-by: Kevin Tian Cc: Ian Campbell Cc: Jan Beulich Cc: "xen-devel@lists.xensource.com" Link: http://lkml.kernel.org/r/%3C625BA99ED14B2D499DC4E29D8138F1505C8ED7F7E2%40shsmsx502.ccr.corp.intel.com%3E Signed-off-by: Thomas Gleixner --- arch/x86/kernel/irq.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 1cb0b9f..544efe2 100644 --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c @@ -249,7 +249,7 @@ void fixup_irqs(void) data = irq_desc_get_irq_data(desc); affinity = data->affinity; - if (!irq_has_action(irq) || + if (!irq_has_action(irq) || irqd_is_per_cpu(data) || cpumask_subset(affinity, cpu_online_mask)) { raw_spin_unlock(&desc->lock); continue;