diff options
author | James Bottomley <jejb@parisc-linux.org> | 2005-11-17 22:28:37 +0100 |
---|---|---|
committer | Kyle McMartin <kyle@parisc-linux.org> | 2005-11-17 22:28:37 +0100 |
commit | c2ab64d09815cc4d48347ee3679658f197455a2a (patch) | |
tree | 7b6bde77c712c4db52717f70d593c5d8f4ce6bf9 /include/asm-parisc/irq.h | |
parent | [PARISC] Fix uniprocessor build by dummying smp_send_all_nop() (diff) | |
download | linux-c2ab64d09815cc4d48347ee3679658f197455a2a.tar.xz linux-c2ab64d09815cc4d48347ee3679658f197455a2a.zip |
[PARISC] Add IRQ affinities
This really only adds them for the machines I can check SMP on, which
is CPU interrupts and IOSAPIC (so not any of the GSC based machines).
With this patch, irqbalanced can be used to maintain irq balancing.
Unfortunately, irqbalanced is a bit x86 centric, so it doesn't do an
incredibly good job, but it does work.
Signed-off-by: James Bottomley <jejb@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to '')
-rw-r--r-- | include/asm-parisc/irq.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/asm-parisc/irq.h b/include/asm-parisc/irq.h index f876bdf22056..b0a30e2c9813 100644 --- a/include/asm-parisc/irq.h +++ b/include/asm-parisc/irq.h @@ -8,6 +8,7 @@ #define _ASM_PARISC_IRQ_H #include <linux/config.h> +#include <linux/cpumask.h> #include <asm/types.h> #define NO_IRQ (-1) @@ -49,10 +50,10 @@ extern int txn_alloc_irq(unsigned int nbits); extern int txn_claim_irq(int); extern unsigned int txn_alloc_data(unsigned int); extern unsigned long txn_alloc_addr(unsigned int); +extern unsigned long txn_affinity_addr(unsigned int irq, int cpu); extern int cpu_claim_irq(unsigned int irq, struct hw_interrupt_type *, void *); - -extern int cpu_claim_irq(unsigned int irq, struct hw_interrupt_type *, void *); +extern int cpu_check_affinity(unsigned int irq, cpumask_t *dest); /* soft power switch support (power.c) */ extern struct tasklet_struct power_tasklet; |