blob: 0e2feb6c6b0e205b6911fa3dddd467fa8d3ba518 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#ifndef __RT_SERVER_H
#define __RT_SERVER_H
#include <linux/sched.h>
#include <litmus/litmus.h>
#include <litmus/rt_domain.h>
struct rt_server;
typedef int (*need_preempt_t)(rt_domain_t *rt, struct task_struct *t);
typedef void (*server_update_t)(struct rt_server *srv);
struct rt_server {
int sid;
int cpu;
struct task_struct* linked;
rt_domain_t* domain;
int running;
/* Does this server have a higher-priority task? */
need_preempt_t need_preempt;
/* System state has changed, so should server */
server_update_t update;
};
void init_rt_server(struct rt_server *server,
int sid, int cpu, rt_domain_t *domain,
need_preempt_t need_preempt,
server_update_t update);
#endif
|