softirq.c File Reference

Go to the source code of this file.

Classes

struct  tasklet_head

Defines

#define NUM_SOFTIRQS   6
#define MAX_SOFTIRQ_RETRIES   10

Functions

 DECLARE_INITVAR (dde26_softirq)
void open_softirq (int nr, void(*action)(struct softirq_action *))
static void raise_softirq_irqoff_cpu (unsigned int nr, unsigned int cpu)
void raise_softirq_irqoff (unsigned int nr)
void raise_softirq (unsigned int nr)
void tasklet_init (struct tasklet_struct *t, void(*func)(unsigned long), unsigned long data)
 Initialize tasklet.
static void __tasklet_enqueue (struct tasklet_struct *t, struct tasklet_head *listhead)
void __tasklet_schedule (struct tasklet_struct *t)
void __tasklet_hi_schedule (struct tasklet_struct *t)
static void tasklet_action (struct softirq_action *a)
static void tasklet_hi_action (struct softirq_action *a)
void __do_softirq (void)
 Run softirq handlers.
void do_softirq (void)
void l4dde26_softirq_thread (void *arg)
 Softirq thread function.
void l4dde26_softirq_init (void)
 Initialize softirq subsystem.

Variables

ddekit_thread_tdde_softirq_thread
ddekit_sem_tdde_softirq_sem
static struct softirq_action softirq_vec [32]
struct tasklet_head tasklet_vec
struct tasklet_head tasklet_hi_vec


Define Documentation

#define MAX_SOFTIRQ_RETRIES   10

Definition at line 176 of file softirq.c.

#define NUM_SOFTIRQS   6

Definition at line 6 of file softirq.c.


Function Documentation

void __do_softirq ( void   ) 

Run softirq handlers.

Definition at line 180 of file softirq.c.

static void __tasklet_enqueue ( struct tasklet_struct *  t,
struct tasklet_head listhead 
) [static]

Definition at line 71 of file softirq.c.

void __tasklet_hi_schedule ( struct tasklet_struct *  t  ) 

Definition at line 95 of file softirq.c.

void __tasklet_schedule ( struct tasklet_struct *  t  ) 

Definition at line 80 of file softirq.c.

DECLARE_INITVAR ( dde26_softirq   ) 

void do_softirq ( void   ) 

Definition at line 208 of file softirq.c.

void l4dde26_softirq_init ( void   ) 

Initialize softirq subsystem.

Start NUM_SOFTIRQ_THREADS threads executing the l4dde26_softirq_thread function.

Definition at line 247 of file softirq.c.

void l4dde26_softirq_thread ( void *  arg  ) 

Softirq thread function.

Once started, a softirq thread waits for tasklets to be scheduled and executes them.

Parameters:
arg # of this softirq thread so that it grabs the correct lock if multiple softirq threads are running.

Definition at line 226 of file softirq.c.

void open_softirq ( int  nr,
void(*)(struct softirq_action *)  action 
)

Definition at line 28 of file softirq.c.

void raise_softirq ( unsigned int  nr  ) 

Definition at line 48 of file softirq.c.

void raise_softirq_irqoff ( unsigned int  nr  ) 

Definition at line 43 of file softirq.c.

static void raise_softirq_irqoff_cpu ( unsigned int  nr,
unsigned int  cpu 
) [static]

Definition at line 33 of file softirq.c.

static void tasklet_action ( struct softirq_action *  a  )  [static]

Definition at line 108 of file softirq.c.

static void tasklet_hi_action ( struct softirq_action *  a  )  [static]

Definition at line 142 of file softirq.c.

void tasklet_init ( struct tasklet_struct *  t,
void(*)(unsigned long)  func,
unsigned long  data 
)

Initialize tasklet.

Definition at line 60 of file softirq.c.


Variable Documentation

Definition at line 12 of file softirq.c.

Definition at line 11 of file softirq.c.

struct softirq_action softirq_vec[32] [static]

Definition at line 22 of file softirq.c.

Definition at line 26 of file softirq.c.

Definition at line 25 of file softirq.c.


Generated on Wed Apr 11 06:39:16 2012 for DDE - The L4 Device Driver Environment by  doxygen 1.5.6