On Fri, 23 May 2008 12:46:35 -0700 Max Krasnyansky wrote:Absolutely. I wanted to see if it gets accepted first.
Current IRQ affinity interface does not provide a way to set affinity
for the IRQs that will be allocated/activated in the future.
This patch creates /proc/irq/default_smp_affinity that lets users set
default affinity mask for the newly allocated IRQs. Changing default
does not affect affinity masks for the currently active IRQs, they
have to be changed explicitly.
Documentation, perhaps an update to Documentation/filesystems/proc.txt ?
Signed-off-by: Max Krasnyansky <maxk@xxxxxxxxxxxx>
---
arch/alpha/kernel/irq.c | 5 +--
include/linux/irq.h | 14 ++++-------
kernel/irq/manage.c | 28 +++++++++++++++++++++-
kernel/irq/proc.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++-
4 files changed, 89 insertions(+), 15 deletions(-)
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 438a014..90f9ccc 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -16,6 +16,8 @@
#ifdef CONFIG_SMP
+cpumask_t irq_default_affinity = CPU_MASK_ALL;
+
/**
* synchronize_irq - wait for pending IRQ handlers (on other CPUs)
* @irq: interrupt number to wait for
@@ -94,6 +96,27 @@ int irq_set_affinity(unsigned int irq, cpumask_t cpumask)
return 0;
}
+#ifndef CONFIG_AUTO_IRQ_AFFINITY
+/**
+ * Generic version of the affinity autoselector.
+ */
Please don't use /** as the beginning of a comment block unless that
comment block is in kernel-doc format (this one is not).