aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/rt_server.c
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2012-05-03 16:50:32 -0400
committerJonathan Herman <hermanjl@cs.unc.edu>2012-05-03 17:17:52 -0400
commitbb35f3fc684667598d7ae39fd2d49a16f77beb39 (patch)
tree6a70f13510e36e2771652bb3fc6d60321bf1daf6 /litmus/rt_server.c
parente0e02579c34b9920781b3ce3fc9d6d7bcafb4d5b (diff)
Added color schedule
Diffstat (limited to 'litmus/rt_server.c')
-rw-r--r--litmus/rt_server.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/litmus/rt_server.c b/litmus/rt_server.c
new file mode 100644
index 00000000000..818588a3d31
--- /dev/null
+++ b/litmus/rt_server.c
@@ -0,0 +1,34 @@
1#include <litmus/rt_server.h>
2
3
4static struct task_struct* default_server_take(struct rt_server *srv)
5{
6 return __take_ready(srv->domain);
7}
8
9static void default_server_update(struct rt_server *srv)
10{
11}
12
13void init_rt_server(struct rt_server *server,
14 int sid, int cpu, rt_domain_t *domain,
15 need_preempt_t need_preempt,
16 server_requeue_t requeue,
17 server_update_t update,
18 server_take_t take)
19{
20 if (!need_preempt || !requeue)
21 BUG_ON(1);
22
23 server->need_preempt = need_preempt;
24 server->requeue = requeue;
25
26 server->update = (update) ? update : default_server_update;
27 server->take = (take) ? take : default_server_take;
28
29 server->sid = sid;
30 server->cpu = cpu;
31 server->linked = NULL;
32 server->domain = domain;
33 server->running = 0;
34}