diff options
Diffstat (limited to 'include/linux/interrupt.h')
-rw-r--r-- | include/linux/interrupt.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index ff374ceface0..dd574d51bcaa 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
@@ -466,6 +466,20 @@ static inline void tasklet_hi_schedule(struct tasklet_struct *t) | |||
466 | __tasklet_hi_schedule(t); | 466 | __tasklet_hi_schedule(t); |
467 | } | 467 | } |
468 | 468 | ||
469 | extern void __tasklet_hi_schedule_first(struct tasklet_struct *t); | ||
470 | |||
471 | /* | ||
472 | * This version avoids touching any other tasklets. Needed for kmemcheck | ||
473 | * in order not to take any page faults while enqueueing this tasklet; | ||
474 | * consider VERY carefully whether you really need this or | ||
475 | * tasklet_hi_schedule()... | ||
476 | */ | ||
477 | static inline void tasklet_hi_schedule_first(struct tasklet_struct *t) | ||
478 | { | ||
479 | if (!test_and_set_bit(TASKLET_STATE_SCHED, &t->state)) | ||
480 | __tasklet_hi_schedule_first(t); | ||
481 | } | ||
482 | |||
469 | 483 | ||
470 | static inline void tasklet_disable_nosync(struct tasklet_struct *t) | 484 | static inline void tasklet_disable_nosync(struct tasklet_struct *t) |
471 | { | 485 | { |