diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-01-11 14:37:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-01-11 14:37:13 -0500 |
commit | 5d7dcfa10ea0dd283773a301e3ce610a7797d582 (patch) | |
tree | 7f7a57ac940e7fe1f538cdd771a954d4fb28f8c0 /kernel | |
parent | 3d5537c160c1484e8d562b9828baf679cc53f67a (diff) |
PAI implementation, C-RM, C-FIFO.
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched.c | 4 | ||||
-rw-r--r-- | kernel/softirq.c | 4 | ||||
-rw-r--r-- | kernel/workqueue.c | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 3162605ffc91..3aa2be09122b 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -3897,8 +3897,10 @@ need_resched_nonpreemptible: | |||
3897 | if (need_resched()) | 3897 | if (need_resched()) |
3898 | goto need_resched; | 3898 | goto need_resched; |
3899 | 3899 | ||
3900 | #ifdef LITMUS_SOFTIRQD | ||
3900 | reacquire_klitirqd_lock(prev); | 3901 | reacquire_klitirqd_lock(prev); |
3901 | 3902 | #endif | |
3903 | |||
3902 | srp_ceiling_block(); | 3904 | srp_ceiling_block(); |
3903 | } | 3905 | } |
3904 | EXPORT_SYMBOL(schedule); | 3906 | EXPORT_SYMBOL(schedule); |
diff --git a/kernel/softirq.c b/kernel/softirq.c index be4b8fab3637..ae77c5c1d17e 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #ifdef CONFIG_LITMUS_NVIDIA | 36 | #ifdef CONFIG_LITMUS_NVIDIA |
37 | #include <litmus/nvidia_info.h> | 37 | #include <litmus/nvidia_info.h> |
38 | #include <litmus/trace.h> | ||
38 | #endif | 39 | #endif |
39 | 40 | ||
40 | /* | 41 | /* |
@@ -441,6 +442,9 @@ void __tasklet_schedule(struct tasklet_struct *t) | |||
441 | if(likely(_litmus_tasklet_schedule(t,nvidia_device))) | 442 | if(likely(_litmus_tasklet_schedule(t,nvidia_device))) |
442 | { | 443 | { |
443 | unlock_nv_registry(nvidia_device, &flags); | 444 | unlock_nv_registry(nvidia_device, &flags); |
445 | |||
446 | TS_NV_RELEASE_BOTISR_END; | ||
447 | |||
444 | return; | 448 | return; |
445 | } | 449 | } |
446 | else | 450 | else |
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 8139208eaee1..637cadac2627 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c | |||
@@ -2531,7 +2531,7 @@ EXPORT_SYMBOL(cancel_delayed_work_sync); | |||
2531 | */ | 2531 | */ |
2532 | int schedule_work(struct work_struct *work) | 2532 | int schedule_work(struct work_struct *work) |
2533 | { | 2533 | { |
2534 | #ifdef CONFIG_LITMUS_NVIDIA | 2534 | #if defined(CONFIG_LITMUS_NVIDIA) && defined(CONFIG_LITMUS_SOFTIRQD) |
2535 | if(is_nvidia_func(work->func)) | 2535 | if(is_nvidia_func(work->func)) |
2536 | { | 2536 | { |
2537 | u32 nvidiaDevice = get_work_nv_device_num(work); | 2537 | u32 nvidiaDevice = get_work_nv_device_num(work); |