Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
irq_work.c
Go to the documentation of this file.
1 /*
2  * x86 specific code for irq_work
3  *
4  * Copyright (C) 2010 Red Hat, Inc., Peter Zijlstra <[email protected]>
5  */
6 
7 #include <linux/kernel.h>
8 #include <linux/irq_work.h>
9 #include <linux/hardirq.h>
10 #include <asm/apic.h>
11 
13 {
14  irq_enter();
15  ack_APIC_irq();
16  inc_irq_stat(apic_irq_work_irqs);
17  irq_work_run();
18  irq_exit();
19 }
20 
22 {
23 #ifdef CONFIG_X86_LOCAL_APIC
24  if (!cpu_has_apic)
25  return;
26 
28  apic_wait_icr_idle();
29 #endif
30 }