aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/rt_param.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r--include/litmus/rt_param.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h
index 998762051a6b..56de045e0898 100644
--- a/include/litmus/rt_param.h
+++ b/include/litmus/rt_param.h
@@ -51,6 +51,16 @@ typedef enum {
51 TASK_EARLY 51 TASK_EARLY
52} release_policy_t; 52} release_policy_t;
53 53
54#ifdef CONFIG_PGMRT_SUPPORT
55typedef enum {
56 PGM_NOT_A_NODE,
57 PGM_SRC,
58 PGM_SINK,
59 PGM_SRC_SINK,
60 PGM_INTERNAL
61} pgm_node_type_t;
62#endif
63
54/* We use the common priority interpretation "lower index == higher priority", 64/* We use the common priority interpretation "lower index == higher priority",
55 * which is commonly used in fixed-priority schedulability analysis papers. 65 * which is commonly used in fixed-priority schedulability analysis papers.
56 * So, a numerically lower priority value implies higher scheduling priority, 66 * So, a numerically lower priority value implies higher scheduling priority,
@@ -122,6 +132,10 @@ struct rt_task {
122 task_class_t cls; 132 task_class_t cls;
123 budget_policy_t budget_policy; /* ignored by pfair */ 133 budget_policy_t budget_policy; /* ignored by pfair */
124 release_policy_t release_policy; 134 release_policy_t release_policy;
135#ifdef CONFIG_PGMRT_SUPPORT
136 pgm_node_type_t pgm_type;
137 lt_t pgm_expected_etoe;
138#endif
125}; 139};
126 140
127union np_flag { 141union np_flag {
@@ -162,6 +176,13 @@ struct control_page {
162 uint64_t irq_syscall_start; /* Snapshot of irq_count when the syscall 176 uint64_t irq_syscall_start; /* Snapshot of irq_count when the syscall
163 * started. */ 177 * started. */
164 178
179#ifdef CONFIG_PGMRT_SUPPORT
180 /* Flags from userspace signifying PGM wait states. */
181 volatile uint32_t pgm_waiting; /* waiting for tokens */
182 volatile uint32_t pgm_sending; /* sending tokens */
183 volatile uint32_t pgm_satisfied; /* done waiting/sending */
184#endif
185
165 /* to be extended */ 186 /* to be extended */
166}; 187};
167 188