| From | Andi Kleen <> | Subject | [PATCH] [5/58] x86_64: Report the pending irq if available in smp_affinity | Date | Thu, 19 Jul 2007 11:54:49 +0200 (CEST) |
| |
Otherwise smp_affinity would only update after the next interrupt on x86 systems.
Cc: tglx@linutronix.de Cc: mingo@elte.hu
Signed-off-by: Andi Kleen <ak@suse.de>
--- kernel/irq/proc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
Index: linux/kernel/irq/proc.c =================================================================== --- linux.orig/kernel/irq/proc.c +++ linux/kernel/irq/proc.c @@ -19,7 +19,14 @@ static struct proc_dir_entry *root_irq_d static int irq_affinity_read_proc(char *page, char **start, off_t off, int count, int *eof, void *data) { - int len = cpumask_scnprintf(page, count, irq_desc[(long)data].affinity); + struct irq_desc *desc = irq_desc + (long)data; + cpumask_t *mask = &desc->affinity; + int len; +#ifdef CONFIG_GENERIC_PENDING_IRQ + if (desc->status & IRQ_MOVE_PENDING) + mask = &desc->pending_mask; +#endif + len = cpumask_scnprintf(page, count, *mask); if (count - len < 2) return -EINVAL; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|