aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/budget.h
blob: a5a276e16c511d78de6d5ae2315f1c6edfb9aa3e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef _LITMUS_BUDGET_H_
#define _LITMUS_BUDGET_H_

struct enforcement_timer {
	struct hrtimer		timer;
	int			armed;
};

/**
 * update_enforcement_timer() - Update per-processor enforcement timer for
 * the next scheduled task.
 *
 * If @t is not NULL and has a precisely enforced budget, the timer will be
 * armed to trigger a reschedule when the budget is exhausted. Otherwise,
 * the timer will be cancelled.
*/
void update_enforcement_timer(struct task_struct* t);

void init_enforcement_timer(struct enforcement_timer *et);

void arm_enforcement_timer(struct enforcement_timer* et, struct task_struct* t);

void cancel_enforcement_timer(struct enforcement_timer* et);

#endif