diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2010-11-26 14:56:39 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2010-11-26 14:56:39 -0500 |
commit | 1baad08397910f4dee59e071808d74ea4ff8cf11 (patch) | |
tree | c8f24b6fb96da54e108d58a7423a027a95acaf61 /include/litmus/edzl_common.h | |
parent | 5c5456402d467969b217d7fdd6670f8c8600f5a8 (diff) |
Implementation of EDZL
This patch implements the global EDZL scheduler. It is based
heavily on the GSN-EDF implementation. Timers are used to detect
zero-laxity points and issue the proper rescheduling operations.
Diffstat (limited to 'include/litmus/edzl_common.h')
-rw-r--r-- | include/litmus/edzl_common.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/litmus/edzl_common.h b/include/litmus/edzl_common.h new file mode 100644 index 000000000000..d9ecfa1a70f9 --- /dev/null +++ b/include/litmus/edzl_common.h | |||
@@ -0,0 +1,24 @@ | |||
1 | /* | ||
2 | * EDZL common data structures and utility functions shared by all EDZL | ||
3 | * based scheduler plugins | ||
4 | */ | ||
5 | |||
6 | /* CLEANUP: Add comments and make it less messy. | ||
7 | * | ||
8 | */ | ||
9 | |||
10 | #ifndef __UNC_EDZL_COMMON_H__ | ||
11 | #define __UNC_EDZL_COMMON_H__ | ||
12 | |||
13 | #include <litmus/rt_domain.h> | ||
14 | |||
15 | void edzl_domain_init(rt_domain_t* rt, check_resched_needed_t resched, | ||
16 | release_jobs_t release); | ||
17 | |||
18 | int edzl_higher_prio(struct task_struct* first, | ||
19 | struct task_struct* second); | ||
20 | |||
21 | int edzl_ready_order(struct bheap_node* a, struct bheap_node* b); | ||
22 | |||
23 | int edzl_preemption_needed(rt_domain_t* rt, struct task_struct *t); | ||
24 | #endif | ||