blob: 300571a81bbd7115350a3bf9e577bb328070dd90 (
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
#include <linux/interrupt.h>
#include <linux/percpu.h>
#include <linux/cpu.h>
#include <linux/kthread.h>
#include <linux/ftrace.h>
#include <linux/smp.h>
#include <linux/slab.h>
#include <linux/mutex.h>
#include <linux/sched.h>
#include <linux/cpuset.h>
#include <litmus/litmus.h>
#include <litmus/sched_trace.h>
#include <litmus/jobs.h>
#include <litmus/sched_plugin.h>
#include <litmus/litmus_softirq.h>
int __litmus_tasklet_schedule(struct tasklet_struct *t, unsigned int k_id)
{
int ret = 0; /* assume failure */
if(unlikely((t->owner == NULL) || !is_realtime(t->owner)))
{
TRACE("%s: No owner associated with this tasklet!\n", __FUNCTION__);
BUG();
}
ret = litmus->enqueue_pai_tasklet(t);
return(ret);
}
EXPORT_SYMBOL(__litmus_tasklet_schedule);
// failure causes default Linux handling.
int __litmus_tasklet_hi_schedule(struct tasklet_struct *t, unsigned int k_id)
{
int ret = 0; /* assume failure */
return(ret);
}
EXPORT_SYMBOL(__litmus_tasklet_hi_schedule);
// failure causes default Linux handling.
int __litmus_tasklet_hi_schedule_first(struct tasklet_struct *t, unsigned int k_id)
{
int ret = 0; /* assume failure */
return(ret);
}
EXPORT_SYMBOL(__litmus_tasklet_hi_schedule_first);
// failure causes default Linux handling.
int __litmus_schedule_work(struct work_struct *w, unsigned int k_id)
{
int ret = 0; /* assume failure */
return(ret);
}
EXPORT_SYMBOL(__litmus_schedule_work);
|