diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-01-26 17:17:27 -0500 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-01-26 17:44:47 -0500 |
commit | 2f25da028afca99d903f60a0396a44d657b863dd (patch) | |
tree | 8141487e48175b33161573467421fd18605d9ebf /include/litmus/rt_param.h | |
parent | 00ffad8cfa533223121c8b400ae829ccef2ddfe8 (diff) |
Add NPS-F plugin
[semi-part backport]
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r-- | include/litmus/rt_param.h | 18 |
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 | */ | ||
44 | struct 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; |