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
..
2005-06-28 21:20:31 -07:00
2005-06-22 16:07:42 -04:00
2005-09-03 16:45:02 +01:00
2005-07-07 16:50:16 +02:00
2005-08-29 16:00:54 -07:00
2005-08-29 16:13:22 -07:00
2005-08-29 16:13:29 -07:00
2005-07-07 18:24:11 -07:00
2005-08-04 13:00:54 -07:00
2005-08-16 08:52:11 -07:00
2005-07-22 14:43:52 -07:00
2005-07-27 11:41:18 +01:00
2005-06-25 16:25:02 -07:00
2005-07-29 23:31:17 -04:00
2005-08-29 15:59:42 -04:00
2005-06-26 15:28:10 -07:00
2005-07-10 19:29:45 -07:00
2005-06-23 09:45:26 -07:00
2005-06-27 14:33:29 -07:00
2005-08-05 13:43:16 -07:00
2005-06-25 16:24:52 -07:00
2005-07-07 18:23:45 -07:00
2005-07-10 15:45:11 -07:00
2005-09-05 00:05:44 -07:00
2005-06-27 15:11:48 -07:00
2005-07-04 13:23:45 -07:00
2005-09-02 00:57:31 -07:00
2005-07-07 18:23:43 -07:00
2005-06-25 16:24:53 -07:00
2005-09-01 17:43:05 -07:00
2005-08-29 16:13:37 -07:00
2005-08-01 21:37:59 -07:00
2005-07-12 17:21:56 -04:00
2005-06-25 16:24:24 -07:00
2005-06-24 00:05:19 -07:00
2005-06-24 00:05:19 -07:00
2005-09-05 00:06:09 -07:00
2005-06-27 14:33:29 -07:00
2005-07-13 16:23:51 -04:00
2005-08-29 16:02:44 -07:00
2005-06-24 00:06:41 -07:00
2005-07-12 16:01:01 -07:00
2005-06-24 00:05:20 -07:00
2005-07-13 11:25:24 -07:00
2005-06-23 09:45:28 -07:00
2005-07-12 12:08:43 -07:00
2005-08-19 18:02:56 -07:00
2005-08-15 09:50:31 -07:00
2005-07-27 16:26:08 -07:00
2005-06-23 09:45:19 -07:00
2005-07-07 18:23:46 -07:00
2005-07-12 16:01:03 -07:00
2005-07-12 12:08:43 -07:00
2005-06-25 16:24:53 -07:00
2005-08-29 16:10:54 -07:00
2005-09-05 00:05:46 -07:00
2005-09-05 09:14:13 -07:00
2005-09-05 09:14:23 -07:00
2005-09-05 09:14:17 -07:00
2005-06-28 21:20:32 -07:00
2005-09-05 09:14:33 -07:00
2005-09-05 09:14:31 -07:00
2005-09-05 09:26:56 -07:00
2005-06-24 00:05:29 -07:00
2005-06-24 00:05:29 -07:00
2005-08-09 20:21:31 -07:00
2005-06-26 17:54:11 -04:00
2005-08-29 16:01:32 -07:00
2005-08-29 16:10:54 -07:00
2005-08-29 16:10:54 -07:00
2005-08-29 16:01:32 -07:00
2005-08-29 16:10:54 -07:00
2005-07-05 15:03:46 -07:00
2005-08-29 16:01:32 -07:00
2005-09-01 17:40:05 -07:00
2005-08-29 15:32:25 -07:00
2005-08-29 16:01:32 -07:00
2005-06-28 15:46:24 -07:00
2005-08-29 15:49:46 -07:00
2005-08-29 15:57:48 -07:00
2005-06-27 14:33:29 -07:00
2005-06-25 16:24:30 -07:00
2005-08-15 09:50:31 -07:00
2005-06-30 00:50:38 -05:00
2005-07-07 18:23:37 -07:00
2005-08-29 15:43:19 -07:00
2005-06-24 00:05:23 -07:00
2005-08-29 15:57:24 -07:00
2005-09-07 16:57:15 -07:00
2005-06-25 16:24:45 -07:00
2005-06-25 16:24:55 -07:00
2005-06-24 00:05:19 -07:00
2005-06-24 00:05:19 -07:00
2005-06-24 00:05:19 -07:00
2005-09-05 16:03:13 -07:00
2005-06-24 00:05:18 -07:00
2005-07-05 19:19:00 -07:00
2005-09-05 05:20:33 -04:00
2005-08-29 16:11:00 -07:00
2005-06-23 09:45:18 -07:00
2005-07-27 16:26:07 -07:00
2005-09-05 00:05:43 -07:00
2005-06-23 09:45:09 -07:00
2005-07-30 19:31:23 -04:00
2005-08-03 09:12:05 -07:00
2005-09-05 00:05:38 -07:00
2005-08-30 13:31:56 +10:00
2005-06-24 00:06:40 -07:00
2005-07-12 16:00:58 -07:00
2005-09-05 00:06:00 -07:00
2005-07-07 18:23:51 -07:00
2005-08-29 16:01:32 -07:00
2005-08-29 16:02:44 -07:00
2005-08-29 16:00:54 -07:00
2005-08-29 15:34:40 -07:00
2005-08-29 16:01:32 -07:00
2005-08-29 15:57:14 -07:00
2005-08-29 16:01:35 -07:00
2005-08-11 19:27:43 -07:00
2005-06-24 00:06:28 -07:00
2005-06-22 16:07:42 -04:00
2005-06-22 16:07:24 -04:00
2005-08-18 12:53:57 -07:00
2005-06-22 16:07:24 -04:00
2005-06-22 16:07:39 -04:00
2005-06-22 16:07:24 -04:00
2005-06-22 16:07:23 -04:00
2005-06-24 00:06:32 -07:00
2005-06-23 09:45:04 -07:00
2005-06-25 16:25:03 -07:00
2005-09-05 00:05:49 -07:00
2005-09-05 00:06:04 -07:00
2005-08-16 21:06:24 -07:00
2005-08-28 20:28:25 -04:00
2005-06-28 12:56:45 -07:00
2005-06-28 12:56:45 -07:00
2005-06-23 09:45:30 -07:00
2005-09-05 00:06:16 -07:00
2005-06-27 15:11:43 -07:00
2005-06-23 09:45:33 -07:00
2005-06-25 16:24:53 -07:00
2005-09-05 00:06:20 -07:00
2005-06-24 14:14:24 -07:00
2005-06-24 14:14:24 -07:00
2005-06-24 00:05:19 -07:00
2005-06-23 09:45:20 -07:00
2005-08-29 15:49:40 -07:00
2005-07-26 14:35:41 -07:00
2005-07-12 20:21:28 -07:00
2005-07-12 20:21:28 -07:00
2005-07-12 20:21:28 -07:00
2005-07-12 20:21:28 -07:00
2005-07-12 20:21:28 -07:00
2005-06-24 00:06:41 -07:00
2005-08-29 16:00:54 -07:00
2005-07-12 20:38:38 -07:00
2005-06-27 15:11:44 -07:00
2005-08-29 16:01:32 -07:00
2005-08-29 16:00:54 -07:00
2005-09-01 15:56:26 +01:00
2005-08-31 21:48:47 +01:00
2005-08-31 21:48:47 +01:00
2005-07-27 11:41:18 +01:00
2005-08-29 16:01:54 -07:00
2005-07-27 16:25:47 -07:00
2005-07-28 10:34:47 -07:00
2005-08-29 16:01:32 -07:00
2005-08-30 08:58:37 +02:00
2005-07-07 18:23:46 -07:00
2005-06-25 16:24:32 -07:00
2005-09-05 00:05:42 -07:00
2005-09-05 00:05:45 -07:00
2005-07-07 18:23:37 -07:00
2005-07-27 16:26:04 -07:00
2005-08-29 15:56:18 -07:00
2005-06-23 20:59:16 -07:00
2005-06-23 20:49:30 -07:00
2005-06-23 09:45:16 -07:00
2005-06-25 16:24:42 -07:00
2005-06-23 09:45:35 -07:00
2005-08-29 15:57:59 -07:00
2005-06-30 00:48:14 -05:00
2005-07-12 11:52:57 -07:00
2005-06-28 21:20:32 -07:00
2005-07-12 11:52:56 -07:00
2005-06-30 00:49:08 -05:00
2005-06-27 14:43:42 -07:00
2005-07-12 11:52:56 -07:00
2005-06-28 21:20:36 -07:00
2005-09-05 00:05:46 -07:00
2005-06-23 09:45:34 -07:00
2005-07-12 12:08:43 -07:00
2005-07-27 16:25:54 -07:00
2005-06-28 21:20:31 -07:00
2005-06-22 22:16:17 -07:00
2005-08-29 16:00:54 -07:00
2005-08-06 09:39:57 -07:00