|
Linux Kernel
3.7.1
|
#include <linux/export.h>#include <linux/kernel_stat.h>#include <linux/interrupt.h>#include <linux/init.h>#include <linux/mm.h>#include <linux/notifier.h>#include <linux/percpu.h>#include <linux/cpu.h>#include <linux/freezer.h>#include <linux/kthread.h>#include <linux/rcupdate.h>#include <linux/ftrace.h>#include <linux/smp.h>#include <linux/smpboot.h>#include <linux/tick.h>#include <trace/events/irq.h>#include <asm/irq.h>Go to the source code of this file.
Data Structures | |
| struct | tasklet_head |
Macros | |
| #define | CREATE_TRACE_POINTS |
| #define | MAX_SOFTIRQ_RESTART 10 |
Variables | |
| irq_cpustat_t irq_stat[NR_CPUS] | ____cacheline_aligned |
| char * | softirq_to_name [NR_SOFTIRQS] |
| asmlinkage void __do_softirq | ( | void | ) |
__send_remote_softirq - try to schedule softirq work on a remote cpu : private SMP call function data area : the remote cpu : the currently executing cpu : the softirq for the work
Attempt to schedule softirq work on a remote cpu. If this cannot be done, the work is instead queued up on the local cpu.
Interrupts must be disabled.
| void __tasklet_hi_schedule | ( | struct tasklet_struct * | t | ) |
| void __tasklet_hi_schedule_first | ( | struct tasklet_struct * | t | ) |
| void __tasklet_schedule | ( | struct tasklet_struct * | t | ) |
| DEFINE_PER_CPU | ( | struct task_struct * | , |
| ksoftirqd | |||
| ) |
| asmlinkage void do_softirq | ( | void | ) |
| early_initcall | ( | spawn_ksoftirqd | ) |
| EXPORT_PER_CPU_SYMBOL | ( | softirq_work_list | ) |
| EXPORT_SYMBOL | ( | irq_stat | ) |
| EXPORT_SYMBOL | ( | local_bh_disable | ) |
| EXPORT_SYMBOL | ( | _local_bh_enable | ) |
| EXPORT_SYMBOL | ( | local_bh_enable | ) |
| EXPORT_SYMBOL | ( | local_bh_enable_ip | ) |
| EXPORT_SYMBOL | ( | __tasklet_schedule | ) |
| EXPORT_SYMBOL | ( | __tasklet_hi_schedule | ) |
| EXPORT_SYMBOL | ( | __tasklet_hi_schedule_first | ) |
| EXPORT_SYMBOL | ( | tasklet_init | ) |
| EXPORT_SYMBOL | ( | tasklet_kill | ) |
| EXPORT_SYMBOL | ( | __send_remote_softirq | ) |
| EXPORT_SYMBOL | ( | send_remote_softirq | ) |
| EXPORT_SYMBOL_GPL | ( | tasklet_hrtimer_init | ) |
| void open_softirq | ( | int | nr, |
| void(*)(struct softirq_action *) | action | ||
| ) |
| void send_remote_softirq | ( | struct call_single_data * | cp, |
| int | cpu, | ||
| int | softirq | ||
| ) |
| void tasklet_hrtimer_init | ( | struct tasklet_hrtimer * | ttimer, |
| enum hrtimer_restart(*)(struct hrtimer *) | function, | ||
| clockid_t | which_clock, | ||
| enum hrtimer_mode | mode | ||
| ) |
tasklet_hrtimer_init - Init a tasklet/hrtimer combo for softirq callbacks : tasklet_hrtimer which is initialized : hrtimer callback function which gets called from softirq context : clock id (CLOCK_MONOTONIC/CLOCK_REALTIME) : hrtimer mode (HRTIMER_MODE_ABS/HRTIMER_MODE_REL)
| void tasklet_kill | ( | struct tasklet_struct * | t | ) |
| irq_cpustat_t irq_stat [NR_CPUS] ____cacheline_aligned |
| char* softirq_to_name[NR_SOFTIRQS] |
1.8.2