diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2010-08-03 12:33:01 -0400 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2010-08-03 12:43:47 -0400 |
commit | 93d94bce2b7a90d789cf0ab5e167f2c373484eb2 (patch) | |
tree | 915e49699880a5ccf879df9bc206f6307a12f437 /include/litmus/fdso.h | |
parent | 2183cf547b67f7d59f23ed4322f1748867b3f7ea (diff) |
First implementation of G-OMLP.wip-omlp-gedf
This patch implements G-OMLP (OMLP for G-EDF). It reuses (calls)
much of the code from G-FMLP-Long. Note that the implementation
here will have to change if/when P-OMLP is implemented. This is
because P-OMLP uses seperate priority queues (PQ) for each CPU. The OMLP
code will have to be smarter to figure out when to use a global PQ
or CPU-bound PQ. Also, PQ may be better implemented as a binary
(or binomial) heap. It is a simple linked-list in this implementation.
Diffstat (limited to 'include/litmus/fdso.h')
-rw-r--r-- | include/litmus/fdso.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/litmus/fdso.h b/include/litmus/fdso.h index b0e62a9098bd..4c67c87d0e1b 100644 --- a/include/litmus/fdso.h +++ b/include/litmus/fdso.h | |||
@@ -19,8 +19,9 @@ typedef enum { | |||
19 | 19 | ||
20 | FMLP_SEM = 0, | 20 | FMLP_SEM = 0, |
21 | SRP_SEM = 1, | 21 | SRP_SEM = 1, |
22 | OMLP_SEM = 2, | ||
22 | 23 | ||
23 | MAX_OBJ_TYPE = 1 | 24 | MAX_OBJ_TYPE = 2 |
24 | } obj_type_t; | 25 | } obj_type_t; |
25 | 26 | ||
26 | struct inode_obj_id { | 27 | struct inode_obj_id { |
@@ -64,6 +65,7 @@ static inline void* od_lookup(int od, obj_type_t type) | |||
64 | 65 | ||
65 | #define lookup_fmlp_sem(od)((struct fmlp_semaphore*) od_lookup(od, FMLP_SEM)) | 66 | #define lookup_fmlp_sem(od)((struct fmlp_semaphore*) od_lookup(od, FMLP_SEM)) |
66 | #define lookup_srp_sem(od) ((struct srp_semaphore*) od_lookup(od, SRP_SEM)) | 67 | #define lookup_srp_sem(od) ((struct srp_semaphore*) od_lookup(od, SRP_SEM)) |
68 | #define lookup_omlp_sem(od)((struct omlp_semaphore*) od_lookup(od, OMLP_SEM)) | ||
67 | #define lookup_ics(od) ((struct ics*) od_lookup(od, ICS_ID)) | 69 | #define lookup_ics(od) ((struct ics*) od_lookup(od, ICS_ID)) |
68 | 70 | ||
69 | 71 | ||