aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSven Dziadek <s9svdzia@stud.uni-saarland.de>2012-04-14 10:19:37 -0400
committerSven Dziadek <s9svdzia@stud.uni-saarland.de>2012-05-31 16:23:12 -0400
commitaae25e0770ade4083937c7443448cb3f0023b10a (patch)
treebd579d9fadff0a1133eb6e7f156ab0f6e4aa57b1 /include
parent8000ef44f4a82d845d5139cebfcac047ee291433 (diff)
P-FP: port P-FP plugin used in B. Brandenburg's
dissertation (branch bbb-diss) I took the unchanged code but removed references to OMLP which was and is not implemented tests: changed so that they work for P-FP
Diffstat (limited to 'include')
-rw-r--r--include/litmus.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/include/litmus.h b/include/litmus.h
index 4c85d28..2357da9 100644
--- a/include/litmus.h
+++ b/include/litmus.h
@@ -32,27 +32,37 @@ int get_rt_task_param(pid_t pid, struct rt_task* param);
32/* times are given in ms */ 32/* times are given in ms */
33int sporadic_task( 33int sporadic_task(
34 lt_t e, lt_t p, lt_t phase, 34 lt_t e, lt_t p, lt_t phase,
35 int partition, task_class_t cls, 35 int partition, unsigned int priority,
36 task_class_t cls,
36 budget_policy_t budget_policy, int set_cpu_set); 37 budget_policy_t budget_policy, int set_cpu_set);
37 38
38/* times are given in ns */ 39/* times are given in ns */
39int sporadic_task_ns( 40int sporadic_task_ns(
40 lt_t e, lt_t p, lt_t phase, 41 lt_t e, lt_t p, lt_t phase,
41 int cpu, task_class_t cls, 42 int cpu, unsigned int priority,
43 task_class_t cls,
42 budget_policy_t budget_policy, int set_cpu_set); 44 budget_policy_t budget_policy, int set_cpu_set);
43 45
44/* budget enforcement off by default in these macros */ 46/* budget enforcement off by default in these macros */
45#define sporadic_global(e, p) \ 47#define sporadic_global(e, p) \
46 sporadic_task(e, p, 0, 0, RT_CLASS_SOFT, NO_ENFORCEMENT, 0) 48 sporadic_task(e, p, 0, 0, LITMUS_MAX_PRIORITY-1, \
49 RT_CLASS_SOFT, NO_ENFORCEMENT, 0)
47#define sporadic_partitioned(e, p, cpu) \ 50#define sporadic_partitioned(e, p, cpu) \
48 sporadic_task(e, p, 0, cpu, RT_CLASS_SOFT, NO_ENFORCEMENT, 1) 51 sporadic_task(e, p, 0, cpu, LITMUS_MAX_PRIORITY-1, \
52 RT_CLASS_SOFT, NO_ENFORCEMENT, 1)
49 53
50/* file descriptor attached shared objects support */ 54/* file descriptor attached shared objects support */
51typedef enum { 55typedef enum {
52 FMLP_SEM = 0, 56 FMLP_SEM = 0,
53 SRP_SEM = 1, 57 SRP_SEM = 1,
58 MPCP_SEM = 2,
59 MPCP_VS_SEM = 3,
60 DPCP_SEM = 4,
54} obj_type_t; 61} obj_type_t;
55 62
63int lock_protocol_for_name(const char* name);
64const char* name_for_lock_protocol(int id);
65
56int od_openx(int fd, obj_type_t type, int obj_id, void* config); 66int od_openx(int fd, obj_type_t type, int obj_id, void* config);
57int od_close(int od); 67int od_close(int od);
58 68
@@ -96,6 +106,7 @@ task_class_t str2class(const char* str);
96/* non-preemptive section support */ 106/* non-preemptive section support */
97void enter_np(void); 107void enter_np(void);
98void exit_np(void); 108void exit_np(void);
109int exit_np_trace(void);
99int requested_to_preempt(void); 110int requested_to_preempt(void);
100 111
101/* task system support */ 112/* task system support */