  ,       .  , 
       TASKLET_SOFTIRQ 
HI_SOFTIRQ.     ,    
   .  ,   , -
  ,    
  .    ,   
        (  
   ).       
 .

 

        ,  -
        
 .    ,   -
,     .

 

     .    -
,   ,   ( )  
 :    .     ( -
,     )    
  ,     <linux/interrupts .h>:

DECLARE_TASKLET(name, func, data)
DECLARE_TASKLET_DISABLED(name, func, data);

      struct tasklet_struct 
  (name).     ,  -
  func,    data.    -
        ( count).  
 ,     count  , , ,
  .         -
  count,  , , ,    .
   .

DECLARE_TASKLET(my_tasklet, my_tasklet_handler, dev);

    .

struct tasklet_struct my_tasklet = { NULL, 0, ATOMIC_INIT(0),
tasklet handler, dev };

       my_tasklet,  
 .  tasklet_handler    .
  dev   -   
.

  ,      struct
tasklet_struct* t        -
,    .

tasklet init(t, tasklet_handler, dev); /* ,   */

144                                                                     7