aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2011-07-26 11:20:42 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2011-07-26 11:20:42 -0400
commitb8a393ed76d27e7b5424caa2c52d92add7663d6f (patch)
tree94e8a1d69ab2a9cb9cee607a817b12c9f39db570
parent16b809c2bbb43062362e13cfdff54135805dd469 (diff)
P-FP: Don't double-account overheads under DPCP
Don't measure LOCK/UNLOCK while the scheduler is invoked.
-rw-r--r--litmus/sched_pfp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/litmus/sched_pfp.c b/litmus/sched_pfp.c
index 4b14a3eedb83..4d8759209a56 100644
--- a/litmus/sched_pfp.c
+++ b/litmus/sched_pfp.c
@@ -1223,6 +1223,11 @@ static void pfp_migrate_to(int target_cpu)
1223 1223
1224 raw_spin_unlock(&from->slock); 1224 raw_spin_unlock(&from->slock);
1225 1225
1226 /* Don't trace scheduler costs as part of
1227 * locking overhead. Scheduling costs are accounted for
1228 * explicitly. */
1229 TS_LOCK_SUSPEND;
1230
1226 local_irq_enable(); 1231 local_irq_enable();
1227 preempt_enable_no_resched(); 1232 preempt_enable_no_resched();
1228 1233
@@ -1232,6 +1237,9 @@ static void pfp_migrate_to(int target_cpu)
1232 /* we are now on the target processor */ 1237 /* we are now on the target processor */
1233 preempt_disable(); 1238 preempt_disable();
1234 1239
1240 /* start recording costs again */
1241 TS_LOCK_RESUME;
1242
1235 BUG_ON(smp_processor_id() != target_cpu); 1243 BUG_ON(smp_processor_id() != target_cpu);
1236} 1244}
1237 1245