Messages in this thread | | | Date | Sat, 25 Sep 2004 12:15:27 +0300 (EAT) | From | Zwane Mwaikambo <> | Subject | Re: [Patch 0/2] Disable SW irqbalance/irqaffinity for E7520/E7320/E7525 |
| |
Hello Suresh,
On Fri, 24 Sep 2004, Suresh Siddha wrote:
> Ok. How about this patch? > > Add pci quirks to disable irqbalance/affinity for E7520/E7320/E7525 > with revision ID 0x09 and below.
> diff -Nru linux-2.6.9-rc2/drivers/pci/quirks.c linux-irq/drivers/pci/quirks.c > --- linux-2.6.9-rc2/drivers/pci/quirks.c 2004-09-12 22:31:27.000000000 -0700 > +++ linux-irq/drivers/pci/quirks.c 2004-09-04 12:33:54.373316312 -0700 > @@ -814,6 +814,64 @@ > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12, asus_hides_smbus_lpc ); > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, asus_hides_smbus_lpc ); > > +#ifdef CONFIG_X86_IO_APIC > +#include <asm/hw_irq.h> > +#ifdef CONFIG_IRQBALANCE > +extern int irqbalance_disable(char *str); > +#endif > +extern int no_irq_affinity; > +extern int noirqdebug_setup(char *str);
Ok this is sort of ugly, but it's not your fault, i understand that the PCI quirks code is too late after IOAPIC setup, x86_64 has some early PCI bridge detection code which helps in doing IOAPIC quirks.
> +void __devinit quirk_intel_irqbalance(struct pci_dev *dev)
This may as well be moved elsewhere since it's not actually going to be used in PCI quirks. I think you should just do the chipset detection in io_apic.c and then do the disable from there, it's racy and strange (although it may seem natural) to do it in quirks.c
Thanks, Zwane - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |