Ignore:
Timestamp:
Jun 10, 2007, 10:14:08 AM (18 years ago)
Author:
Brendan Oakley
Message:

Added some tasklet code to correct type mismatches with task queues

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GPL/trunk/include/linux/interrupt.h

    r32 r125  
    5050        ISICOM_BH
    5151};
     52/* Tasklets --- multithreaded analogue of BHs.
     53
     54   Main feature differing them of generic softirqs: tasklet
     55   is running only on one CPU simultaneously.
     56
     57   Main feature differing them of BHs: different tasklets
     58   may be run simultaneously on different CPUs.
     59
     60   Properties:
     61   * If tasklet_schedule() is called, then tasklet is guaranteed
     62     to be executed on some cpu at least once after this.
     63   * If the tasklet is already scheduled, but its excecution is still not
     64     started, it will be executed only once.
     65   * If this tasklet is already running on another CPU (or schedule is called
     66     from tasklet itself), it is rescheduled for later.
     67   * Tasklet is strictly serialized wrt itself, but not
     68     wrt another tasklets. If client needs some intertask synchronization,
     69     he makes it with spinlocks.
     70 */
     71
     72struct tasklet_struct
     73{
     74        struct tasklet_struct *next;
     75        unsigned long state;
     76        atomic_t count;
     77        void (*func)(unsigned long);
     78        unsigned long data;
     79};
     80
     81extern void tasklet_hi_schedule(struct tasklet_struct *t);
     82
     83extern void tasklet_init(struct tasklet_struct *t,
     84                         void (*func)(unsigned long), unsigned long data);
    5285
    5386/*
Note: See TracChangeset for help on using the changeset viewer.