| Date | Sun, 23 Feb 2014 21:40:21 -0000 | From | Thomas Gleixner <> | Subject | [patch 24/26] genirq: Provide handle_percpu_simple_irq() |
| |
Special case for vmbus to replace their homegrown flow handler.
Not sure whether we need it at all. I can't see a reason why that needs special handling at all if CONFIG_HYPERV=n
Not-Yet-Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: "K. Y. Srinivasan" <kys@microsoft.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- include/linux/irq.h | 1 + kernel/irq/chip.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+)
Index: tip/include/linux/irq.h =================================================================== --- tip.orig/include/linux/irq.h +++ tip/include/linux/irq.h @@ -423,6 +423,7 @@ extern void handle_edge_irq(unsigned int extern void handle_edge_eoi_irq(unsigned int irq, struct irq_desc *desc); extern void handle_simple_irq(unsigned int irq, struct irq_desc *desc); extern void handle_percpu_irq(unsigned int irq, struct irq_desc *desc); +extern void handle_percpu_simple_irq(unsigned int irq, struct irq_desc *desc); extern void handle_percpu_devid_irq(unsigned int irq, struct irq_desc *desc); extern void handle_bad_irq(unsigned int irq, struct irq_desc *desc); extern void handle_nested_irq(unsigned int irq); Index: tip/kernel/irq/chip.c =================================================================== --- tip.orig/kernel/irq/chip.c +++ tip/kernel/irq/chip.c @@ -623,6 +623,21 @@ handle_percpu_irq(unsigned int irq, stru } /** + * handle_percpu_simple_irq - Per CPU local irq handler + * @irq: the interrupt number + * @desc: the interrupt description structure for this irq + * + * Per CPU interrupts on SMP machines without locking + * requirements. No ack/eoi handling. + */ +void +handle_percpu_simple_irq(unsigned int irq, struct irq_desc *desc) +{ + kstat_incr_irqs_this_cpu(irq, desc); + handle_irq_event_percpu(desc, desc->action); +} + +/** * handle_percpu_devid_irq - Per CPU local irq handler with per cpu dev ids * @irq: the interrupt number * @desc: the interrupt description structure for this irq
|