Skip to content

Commit

Permalink
x86_64: Report the pending irq if available in smp_affinity
Browse files Browse the repository at this point in the history
Otherwise smp_affinity would only update after the next interrupt
on x86 systems.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Andi Kleen authored and Linus Torvalds committed Jul 22, 2007
1 parent 78b599a commit 42ee2b7
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion kernel/irq/proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,15 @@ static struct proc_dir_entry *root_irq_dir;
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;
Expand Down

0 comments on commit 42ee2b7

Please sign in to comment.