kernel-ark/arch
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
..
alpha [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
arm [ARM] 2882/1: pxa2xx_sharpsl: Update PCMCIA driver to support variety of new hardware 2005-09-05 20:49:54 +01:00
arm26 [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
cris [PATCH] arch/cris/Kconfig.debug: use lib/Kconfig.debug 2005-09-05 00:06:19 -07:00
frv [PATCH] frv: Remove export of strtok() 2005-09-05 00:06:01 -07:00
h8300 [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
i386 [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity 2005-09-07 16:57:15 -07:00
ia64 [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity 2005-09-07 16:57:15 -07:00
m32r [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
m68k [PATCH] m68k: cleanup inline mem functions 2005-09-05 00:06:19 -07:00
m68knommu Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2005-09-06 00:35:51 -07:00
mips Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2005-09-06 00:35:51 -07:00
parisc [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
ppc [PATCH] ppc32: fix ocp_device_suspend to use pm_message_t instead of u32 2005-09-07 16:57:15 -07:00
ppc64 [PATCH] remove linux/version.h include from arch/ppc64 2005-09-06 16:57:46 +10:00
s390 [PATCH] s390: compat system calls 2005-09-05 00:06:29 -07:00
sh [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
sh64 [PATCH] arch/sh64/Kconfig: doesn't need it's own LOG_BUF_SHIFT 2005-09-05 00:06:09 -07:00
sparc [SPARC]: Kill io_remap_page_range() 2005-09-01 21:51:26 -07:00
sparc64 [SPARC64]: Don't include drivers/firmware/Kconfig 2005-09-05 23:34:13 -07:00
um [PATCH] uml: fix x86_64 page leak 2005-09-05 00:06:24 -07:00
v850 [PATCH] v850: Add show_mem 2005-09-02 00:57:31 -07:00
x86_64 [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity 2005-09-07 16:57:15 -07:00
xtensa [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00