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 c41e812e9d5e..2721f07e9354 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
@@ -472,6 +472,20 @@ static inline void tasklet_hi_schedule(struct tasklet_struct *t) | |||
472 | __tasklet_hi_schedule(t); | 472 | __tasklet_hi_schedule(t); |
473 | } | 473 | } |
474 | 474 | ||
475 | extern void __tasklet_hi_schedule_first(struct tasklet_struct *t); | ||
476 | |||
477 | /* | ||
478 | * This version avoids touching any other tasklets. Needed for kmemcheck | ||
479 | * in order not to take any page faults while enqueueing this tasklet; | ||
480 | * consider VERY carefully whether you really need this or | ||
481 | * tasklet_hi_schedule()... | ||
482 | */ | ||
483 | static inline void tasklet_hi_schedule_first(struct tasklet_struct *t) | ||
484 | { | ||
485 | if (!test_and_set_bit(TASKLET_STATE_SCHED, &t->state)) | ||
486 | __tasklet_hi_schedule_first(t); | ||
487 | } | ||
488 | |||
475 | 489 | ||
476 | static inline void tasklet_disable_nosync(struct tasklet_struct *t) | 490 | static inline void tasklet_disable_nosync(struct tasklet_struct *t) |
477 | { | 491 | { |