1
linux/drivers/pci
Ashok Raj 54d5d42404 [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity
When handling writes to /proc/irq, current code is re-programming rte
entries directly. This is not recommended and could potentially cause
chipset's to lockup, or cause missing interrupts.

CONFIG_IRQ_BALANCE does this correctly, where it re-programs only when the
interrupt is pending. The same needs to be done for /proc/irq handling as well.
Otherwise user space irq balancers are really not doing the right thing.

- Changed pending_irq_balance_cpumask to pending_irq_migrate_cpumask for
  lack of a generic name.
- added move_irq out of IRQ_BALANCE, and added this same to X86_64
- Added new proc handler for write, so we can do deferred write at irq
  handling time.
- Display of /proc/irq/XX/smp_affinity used to display CPU_MASKALL, instead
  it now shows only active cpu masks, or exactly what was set.
- Provided a common move_irq implementation, instead of duplicating
  when using generic irq framework.

Tested on i386/x86_64 and ia64 with CONFIG_PCI_MSI turned on and off.
Tested UP builds as well.

MSI testing: tbd: I have cards, need to look for a x-over cable, although I
did test an earlier version of this patch.  Will test in a couple days.

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Acked-by: Zwane Mwaikambo <zwane@holomorphy.com>
Grudgingly-acked-by: Andi Kleen <ak@muc.de>
Signed-off-by: Coywolf Qi Hunt <coywolf@lovecn.org>
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-07 16:57:15 -07:00
..
hotplug [PATCH] PCI Hotplug: new contact info 2005-08-16 21:06:24 -07:00
pcie [PATCH] pm: more u32 vs. pm_message_t fixes 2005-07-07 18:23:43 -07:00
access.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bus.c pci: make bus resource start address override minimum IO address 2005-08-02 14:55:40 -07:00
gen-devlist.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hotplug.c [PATCH] PCI: Remove newline from pci MODALIAS variable 2005-07-01 13:35:51 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile [PATCH] gregkh-pci-pci-assign-unassigned-resources fix 2005-07-01 13:35:52 -07:00
msi.c [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity 2005-09-07 16:57:15 -07:00
msi.h [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity 2005-09-07 16:57:15 -07:00
names.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci-acpi.c [ACPI] gut acpi_pci_choose_state() to avoid conflict 2005-07-11 23:54:14 -04:00
pci-driver.c [PATCH] PCI: fix !CONFIG_HOTPLUG pci build problem 2005-07-06 09:22:45 -07:00
pci-sysfs.c [PATCH] PCI: fix-pci-mmap-on-ppc-and-ppc64.patch 2005-06-27 21:52:45 -07:00
pci.c [PATCH] swsusp: switch pm_message_t to struct 2005-09-05 00:06:16 -07:00
pci.h [PATCH] PCI: fix quirk-6700-fix.patch 2005-08-16 21:06:24 -07:00
pci.ids [TG3]: Update pci.ids for BCM5752 2005-06-06 15:14:35 -07:00
probe.c [PATCH] PCI: remove PCI_BRIDGE_CTL_VGA handling from setup-bus.c 2005-07-29 13:12:51 -07:00
proc.c [PATCH] PCI: fix-pci-mmap-on-ppc-and-ppc64.patch 2005-06-27 21:52:45 -07:00
quirks.c [PATCH] via vt8237 apic bypass deassertion quirk 2005-09-05 00:06:10 -07:00
remove.c [PATCH] acpi bridge hotadd: Make the PCI remove routines safe for failed hot-plug 2005-06-27 21:52:41 -07:00
rom.c [PATCH] Fix PCI ROM mapping 2005-09-01 10:50:29 -07:00
search.c [IA64] hotplug/ia64: SN Hotplug Driver - pci_find_next_bus export 2005-07-06 15:28:40 -07:00
setup-bus.c [PATCH] x86: pci_assign_unassigned_resources() update 2005-08-30 11:14:48 -07:00
setup-irq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup-res.c Ignore disabled ROM resources at setup 2005-08-26 10:49:22 -07:00
syscall.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00