diff options
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r-- | include/litmus/rt_param.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h index a3dde39753bd..fa0f5f4647bd 100644 --- a/include/litmus/rt_param.h +++ b/include/litmus/rt_param.h | |||
@@ -51,6 +51,14 @@ typedef enum { | |||
51 | TASK_EARLY | 51 | TASK_EARLY |
52 | } release_policy_t; | 52 | } release_policy_t; |
53 | 53 | ||
54 | typedef enum { | ||
55 | PGM_NOT_A_NODE, | ||
56 | PGM_SRC, | ||
57 | PGM_SINK, | ||
58 | PGM_SRC_SINK, | ||
59 | PGM_INTERNAL | ||
60 | } pgm_node_type_t; | ||
61 | |||
54 | /* We use the common priority interpretation "lower index == higher priority", | 62 | /* We use the common priority interpretation "lower index == higher priority", |
55 | * which is commonly used in fixed-priority schedulability analysis papers. | 63 | * which is commonly used in fixed-priority schedulability analysis papers. |
56 | * So, a numerically lower priority value implies higher scheduling priority, | 64 | * So, a numerically lower priority value implies higher scheduling priority, |
@@ -122,6 +130,8 @@ struct rt_task { | |||
122 | task_class_t cls; | 130 | task_class_t cls; |
123 | budget_policy_t budget_policy; /* ignored by pfair */ | 131 | budget_policy_t budget_policy; /* ignored by pfair */ |
124 | release_policy_t release_policy; | 132 | release_policy_t release_policy; |
133 | pgm_node_type_t pgm_type; | ||
134 | lt_t pgm_expected_etoe; | ||
125 | }; | 135 | }; |
126 | 136 | ||
127 | union np_flag { | 137 | union np_flag { |
@@ -162,6 +172,11 @@ struct control_page { | |||
162 | uint64_t irq_syscall_start; /* Snapshot of irq_count when the syscall | 172 | uint64_t irq_syscall_start; /* Snapshot of irq_count when the syscall |
163 | * started. */ | 173 | * started. */ |
164 | 174 | ||
175 | /* Flags from userspace signifying PGM wait states. */ | ||
176 | volatile uint32_t pgm_waiting; /* waiting for tokens */ | ||
177 | volatile uint32_t pgm_sending; /* sending tokens */ | ||
178 | volatile uint32_t pgm_satisfied; /* done waiting/sending */ | ||
179 | |||
165 | /* to be extended */ | 180 | /* to be extended */ |
166 | }; | 181 | }; |
167 | 182 | ||