Changeset 125 for GPL/trunk/include/linux/interrupt.h
- Timestamp:
- Jun 10, 2007, 10:14:08 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/trunk/include/linux/interrupt.h
r32 r125 50 50 ISICOM_BH 51 51 }; 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 72 struct 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 81 extern void tasklet_hi_schedule(struct tasklet_struct *t); 82 83 extern void tasklet_init(struct tasklet_struct *t, 84 void (*func)(unsigned long), unsigned long data); 52 85 53 86 /*
Note:
See TracChangeset
for help on using the changeset viewer.