aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/rt_server.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/litmus/rt_server.h')
-rw-r--r--include/litmus/rt_server.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/litmus/rt_server.h b/include/litmus/rt_server.h
new file mode 100644
index 000000000000..0e2feb6c6b0e
--- /dev/null
+++ b/include/litmus/rt_server.h
@@ -0,0 +1,31 @@
1#ifndef __RT_SERVER_H
2#define __RT_SERVER_H
3
4#include <linux/sched.h>
5#include <litmus/litmus.h>
6#include <litmus/rt_domain.h>
7
8struct rt_server;
9
10typedef int (*need_preempt_t)(rt_domain_t *rt, struct task_struct *t);
11typedef void (*server_update_t)(struct rt_server *srv);
12
13struct rt_server {
14 int sid;
15 int cpu;
16 struct task_struct* linked;
17 rt_domain_t* domain;
18 int running;
19
20 /* Does this server have a higher-priority task? */
21 need_preempt_t need_preempt;
22 /* System state has changed, so should server */
23 server_update_t update;
24};
25
26void init_rt_server(struct rt_server *server,
27 int sid, int cpu, rt_domain_t *domain,
28 need_preempt_t need_preempt,
29 server_update_t update);
30
31#endif