Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 38411
b: refs/heads/master
c: a24ceab
h: refs/heads/master
i:
  38409: d8d3d7f
  38407: c884584
v: v3
  • Loading branch information
Eric W. Biederman authored and Linus Torvalds committed Oct 4, 2006
1 parent 2eb90d1 commit e93e361
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f5b9ed7acdcfea4bf73a70dececa7483787503ed
refs/heads/master: a24ceab4f44f21749aa0b6bd38bee37c775e036f
3 changes: 1 addition & 2 deletions trunk/include/linux/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
#define IRQ_NOAUTOEN 0x08000000 /* IRQ will not be enabled on request irq */
#define IRQ_DELAYED_DISABLE 0x10000000 /* IRQ disable (masking) happens delayed. */
#define IRQ_WAKEUP 0x20000000 /* IRQ triggers system wakeup */
#define IRQ_MOVE_PENDING 0x40000000 /* need to re-target IRQ destination */

struct proc_dir_entry;

Expand Down Expand Up @@ -132,7 +133,6 @@ struct irq_chip {
* @affinity: IRQ affinity on SMP
* @cpu: cpu index useful for balancing
* @pending_mask: pending rebalanced interrupts
* @move_irq: need to re-target IRQ destination
* @dir: /proc/irq/ procfs entry
* @affinity_entry: /proc/irq/smp_affinity procfs entry on SMP
*
Expand All @@ -159,7 +159,6 @@ struct irq_desc {
#endif
#if defined(CONFIG_GENERIC_PENDING_IRQ) || defined(CONFIG_IRQBALANCE)
cpumask_t pending_mask;
unsigned int move_irq; /* need to re-target IRQ dest */
#endif
#ifdef CONFIG_PROC_FS
struct proc_dir_entry *dir;
Expand Down
6 changes: 3 additions & 3 deletions trunk/kernel/irq/migration.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ void set_pending_irq(unsigned int irq, cpumask_t mask)
unsigned long flags;

spin_lock_irqsave(&desc->lock, flags);
desc->move_irq = 1;
desc->status |= IRQ_MOVE_PENDING;
irq_desc[irq].pending_mask = mask;
spin_unlock_irqrestore(&desc->lock, flags);
}
Expand All @@ -17,7 +17,7 @@ void move_native_irq(int irq)
struct irq_desc *desc = irq_desc + irq;
cpumask_t tmp;

if (likely(!desc->move_irq))
if (likely(!(desc->status & IRQ_MOVE_PENDING)))
return;

/*
Expand All @@ -28,7 +28,7 @@ void move_native_irq(int irq)
return;
}

desc->move_irq = 0;
desc->status &= ~IRQ_MOVE_PENDING;

if (unlikely(cpus_empty(irq_desc[irq].pending_mask)))
return;
Expand Down

0 comments on commit e93e361

Please sign in to comment.