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] |