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.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h
index 9927b09e0a01..1290e2939e33 100644
--- a/include/litmus/rt_param.h
+++ b/include/litmus/rt_param.h
@@ -35,6 +35,17 @@ typedef enum {
35 PRECISE_ENFORCEMENT /* NOT IMPLEMENTED - enforced with hrtimers */ 35 PRECISE_ENFORCEMENT /* NOT IMPLEMENTED - enforced with hrtimers */
36} budget_policy_t; 36} budget_policy_t;
37 37
38/* Parameters for NPS-F semi-partitioned scheduling algorithm.
39 * Each (cpu, budget) entry defines the share ('budget' in ns, a % of
40 * the slot_length) of the notional processor on the CPU 'cpu'.
41 * This structure is used by the library - syscall interface in order
42 * to go through the overhead of a syscall only once per server.
43 */
44struct npsf_budgets {
45 int cpu;
46 lt_t budget;
47};
48
38/* The parameters for the EDF-WM semi-partitioned scheduler. 49/* The parameters for the EDF-WM semi-partitioned scheduler.
39 * Each task may be split across multiple cpus. Each per-cpu allocation 50 * Each task may be split across multiple cpus. Each per-cpu allocation
40 * is called a 'slice'. 51 * is called a 'slice'.
@@ -75,6 +86,13 @@ struct rt_task {
75 86
76 /* parameters used by the semi-partitioned algorithms */ 87 /* parameters used by the semi-partitioned algorithms */
77 union { 88 union {
89 /* NPS-F; defined in sched_npsf.c
90 * id for the server (notional processor) that holds
91 * this task; the same npfs_id can be assigned to "the same"
92 * server split on different cpus
93 */
94 int npsf_id;
95
78 /* EDF-WM; defined in sched_edf_wm.c */ 96 /* EDF-WM; defined in sched_edf_wm.c */
79 struct edf_wm_params wm; 97 struct edf_wm_params wm;
80 } semi_part; 98 } semi_part;