Re: default IRQ affinity change in v2.6.27 (breaking several SMPPPC based systems)

From: Chris Snook
Date: Fri Oct 24 2008 - 14:18:55 EST


Scott Wood wrote:
Kumar Gala wrote:
So why not just have x86 startup code set irq_default_affinity = CPU_MASK_ALL than?

That doesn't really solve the problem, as a user could still manually set an invalid affinity. The MPIC driver should reduce the affinity itself to what the hardware can handle.

Does the MPIC code actually allow that to happen? I can't quite tell, but I noticed this:

[csnook@bernoulli sysdev]$ fgrep '#ifdef CONFIG_' mpic.c | sort -u
#ifdef CONFIG_IRQ_ALL_CPUS
#ifdef CONFIG_MPIC_BROKEN_REGREAD
#ifdef CONFIG_MPIC_U3_HT_IRQS
#ifdef CONFIG_MPIC_WEIRD
#ifdef CONFIG_PCI_MSI
#ifdef CONFIG_PM
#ifdef CONFIG_PPC32 /* XXX for now */
#ifdef CONFIG_PPC_DCR
#ifdef CONFIG_SMP

Do any of those config options (or combinations thereof) imply an MPIC that can't handle an IRQ masked to multiple CPUs? If so, this can be fixed rather easily at build time, without having to muck around with arch-specific initialization code.

-- Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/