diff options
Diffstat (limited to 'include/linux/interrupt.h')
-rw-r--r-- | include/linux/interrupt.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index a0384a4d1e6f..5d22f5342376 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
@@ -459,6 +459,10 @@ struct tasklet_struct | |||
459 | atomic_t count; | 459 | atomic_t count; |
460 | void (*func)(unsigned long); | 460 | void (*func)(unsigned long); |
461 | unsigned long data; | 461 | unsigned long data; |
462 | |||
463 | #ifdef CONFIG_LITMUS_SOFTIRQD | ||
464 | struct task_struct *owner; | ||
465 | #endif | ||
462 | }; | 466 | }; |
463 | 467 | ||
464 | #define DECLARE_TASKLET(name, func, data) \ | 468 | #define DECLARE_TASKLET(name, func, data) \ |
@@ -496,6 +500,7 @@ static inline void tasklet_unlock_wait(struct tasklet_struct *t) | |||
496 | #define tasklet_unlock(t) do { } while (0) | 500 | #define tasklet_unlock(t) do { } while (0) |
497 | #endif | 501 | #endif |
498 | 502 | ||
503 | extern void ___tasklet_schedule(struct tasklet_struct *t); | ||
499 | extern void __tasklet_schedule(struct tasklet_struct *t); | 504 | extern void __tasklet_schedule(struct tasklet_struct *t); |
500 | 505 | ||
501 | static inline void tasklet_schedule(struct tasklet_struct *t) | 506 | static inline void tasklet_schedule(struct tasklet_struct *t) |
@@ -504,6 +509,7 @@ static inline void tasklet_schedule(struct tasklet_struct *t) | |||
504 | __tasklet_schedule(t); | 509 | __tasklet_schedule(t); |
505 | } | 510 | } |
506 | 511 | ||
512 | extern void ___tasklet_hi_schedule(struct tasklet_struct *t); | ||
507 | extern void __tasklet_hi_schedule(struct tasklet_struct *t); | 513 | extern void __tasklet_hi_schedule(struct tasklet_struct *t); |
508 | 514 | ||
509 | static inline void tasklet_hi_schedule(struct tasklet_struct *t) | 515 | static inline void tasklet_hi_schedule(struct tasklet_struct *t) |
@@ -512,6 +518,7 @@ static inline void tasklet_hi_schedule(struct tasklet_struct *t) | |||
512 | __tasklet_hi_schedule(t); | 518 | __tasklet_hi_schedule(t); |
513 | } | 519 | } |
514 | 520 | ||
521 | extern void ___tasklet_hi_schedule_first(struct tasklet_struct *t); | ||
515 | extern void __tasklet_hi_schedule_first(struct tasklet_struct *t); | 522 | extern void __tasklet_hi_schedule_first(struct tasklet_struct *t); |
516 | 523 | ||
517 | /* | 524 | /* |
@@ -541,7 +548,7 @@ static inline void tasklet_disable(struct tasklet_struct *t) | |||
541 | } | 548 | } |
542 | 549 | ||
543 | static inline void tasklet_enable(struct tasklet_struct *t) | 550 | static inline void tasklet_enable(struct tasklet_struct *t) |
544 | { | 551 | { |
545 | smp_mb__before_atomic_dec(); | 552 | smp_mb__before_atomic_dec(); |
546 | atomic_dec(&t->count); | 553 | atomic_dec(&t->count); |
547 | } | 554 | } |