diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-02-05 22:57:57 -0500 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-11-24 14:15:06 -0500 |
commit | 4490f9ecf94e28458069a02e8cfcf4f385390499 (patch) | |
tree | 04e8166b5f0fdf53614db0977b8d56f727007390 /litmus/sched_psn_edf.c | |
parent | b739b4033c0f55f9194be2793db9e6ace06047db (diff) |
Feather-Trace: trace locking-related suspensions
Diffstat (limited to 'litmus/sched_psn_edf.c')
-rw-r--r-- | litmus/sched_psn_edf.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/litmus/sched_psn_edf.c b/litmus/sched_psn_edf.c index eb444ecf1288..8e4a22dd8d6a 100644 --- a/litmus/sched_psn_edf.c +++ b/litmus/sched_psn_edf.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <litmus/sched_plugin.h> | 20 | #include <litmus/sched_plugin.h> |
21 | #include <litmus/edf_common.h> | 21 | #include <litmus/edf_common.h> |
22 | #include <litmus/sched_trace.h> | 22 | #include <litmus/sched_trace.h> |
23 | #include <litmus/trace.h> | ||
23 | 24 | ||
24 | typedef struct { | 25 | typedef struct { |
25 | rt_domain_t domain; | 26 | rt_domain_t domain; |
@@ -422,6 +423,8 @@ int psnedf_fmlp_lock(struct litmus_lock* l) | |||
422 | 423 | ||
423 | __add_wait_queue_tail_exclusive(&sem->wait, &wait); | 424 | __add_wait_queue_tail_exclusive(&sem->wait, &wait); |
424 | 425 | ||
426 | TS_LOCK_SUSPEND; | ||
427 | |||
425 | /* release lock before sleeping */ | 428 | /* release lock before sleeping */ |
426 | spin_unlock_irqrestore(&sem->wait.lock, flags); | 429 | spin_unlock_irqrestore(&sem->wait.lock, flags); |
427 | 430 | ||
@@ -432,6 +435,8 @@ int psnedf_fmlp_lock(struct litmus_lock* l) | |||
432 | 435 | ||
433 | schedule(); | 436 | schedule(); |
434 | 437 | ||
438 | TS_LOCK_RESUME; | ||
439 | |||
435 | /* Since we hold the lock, no other task will change | 440 | /* Since we hold the lock, no other task will change |
436 | * ->owner. We can thus check it without acquiring the spin | 441 | * ->owner. We can thus check it without acquiring the spin |
437 | * lock. */ | 442 | * lock. */ |