aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2010-05-19 13:32:08 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2010-05-19 13:32:08 -0400
commit15ec40282fea752ddedd83ca956919606d0e725c (patch)
treeca1701f2b3889d2b489b033a64b1ff556c8aa405
parent2619c4029b5833648542a293ef65a17975fffe55 (diff)
parentb126a1a3b926bb9f064c293d499ff2b61fd28587 (diff)
Merge branch 'wip-pm-ovd' of ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/liblitmus2010 into wip-pm-ovd
-rwxr-xr-xpm_data_analysis/pm_data_analyzer.py2
-rw-r--r--pm_test/pm_common.c9
2 files changed, 6 insertions, 5 deletions
diff --git a/pm_data_analysis/pm_data_analyzer.py b/pm_data_analysis/pm_data_analyzer.py
index e730383..ea4812f 100755
--- a/pm_data_analysis/pm_data_analyzer.py
+++ b/pm_data_analysis/pm_data_analyzer.py
@@ -166,7 +166,7 @@ class Analyzer(defapp.App):
166 for i in ovds: 166 for i in ovds:
167 if len(i[0]) != 0: 167 if len(i[0]) != 0:
168 # just add overheads, "forget" preemption length 168 # just add overheads, "forget" preemption length
169 # FIXME: is really needed? 169 # 20100412: IQR analysis is not needed (atm)
170 # valid_ovds.add(sd.remOutliers(i[0][:,0]), i[1]) 170 # valid_ovds.add(sd.remOutliers(i[0][:,0]), i[1])
171 valid_ovds.add(i[0][:,0], i[1]) 171 valid_ovds.add(i[0][:,0], i[1])
172 else: 172 else:
diff --git a/pm_test/pm_common.c b/pm_test/pm_common.c
index 75118a4..623c3e0 100644
--- a/pm_test/pm_common.c
+++ b/pm_test/pm_common.c
@@ -596,7 +596,7 @@ void get_ovd_plen_umaxeon(struct full_ovd_plen *full_costs, int num_samples,
596 last_cpu = full_costs[i].last_cpu; 596 last_cpu = full_costs[i].last_cpu;
597 597
598 if (curr_cpu == last_cpu) { 598 if (curr_cpu == last_cpu) {
599 dprintf("preempt\n"); 599 dprintf("preempt (%d, %d)\n", last_cpu, curr_cpu);
600 /* preemption */ 600 /* preemption */
601 preempt[*pcount].ovd = full_costs[i].ovd; 601 preempt[*pcount].ovd = full_costs[i].ovd;
602 preempt[*pcount].plen = full_costs[i].plen; 602 preempt[*pcount].plen = full_costs[i].plen;
@@ -613,7 +613,7 @@ void get_ovd_plen_umaxeon(struct full_ovd_plen *full_costs, int num_samples,
613 if (((curr_cpu / num_phys_cpu) / cores_per_l2) == 613 if (((curr_cpu / num_phys_cpu) / cores_per_l2) ==
614 ((last_cpu / num_phys_cpu) / cores_per_l2)) { 614 ((last_cpu / num_phys_cpu) / cores_per_l2)) {
615 /* they share also L2 */ 615 /* they share also L2 */
616 dprintf("same L2\n"); 616 dprintf("same L2 (%d,%d)\n", last_cpu, curr_cpu);
617 samel2[*l2count].ovd = full_costs[i].ovd; 617 samel2[*l2count].ovd = full_costs[i].ovd;
618 samel2[*l2count].plen = full_costs[i].plen; 618 samel2[*l2count].plen = full_costs[i].plen;
619 (*l2count)++; 619 (*l2count)++;
@@ -621,7 +621,7 @@ void get_ovd_plen_umaxeon(struct full_ovd_plen *full_costs, int num_samples,
621 continue; 621 continue;
622 } else { 622 } else {
623 /* this is an L3 migration */ 623 /* this is an L3 migration */
624 dprintf("same L3\n"); 624 dprintf("same L3 (%d,%d)\n", last_cpu, curr_cpu);
625 samechip[*chipcount].ovd = full_costs[i].ovd; 625 samechip[*chipcount].ovd = full_costs[i].ovd;
626 samechip[*chipcount].plen = full_costs[i].plen; 626 samechip[*chipcount].plen = full_costs[i].plen;
627 (*chipcount)++; 627 (*chipcount)++;
@@ -630,6 +630,7 @@ void get_ovd_plen_umaxeon(struct full_ovd_plen *full_costs, int num_samples,
630 } 630 }
631 } else { 631 } else {
632 /* ok, just L2 on this machine, this is an L2 migration */ 632 /* ok, just L2 on this machine, this is an L2 migration */
633 dprintf("same L2 (%d,%d)\n", last_cpu, curr_cpu);
633 samechip[*chipcount].ovd = full_costs[i].ovd; 634 samechip[*chipcount].ovd = full_costs[i].ovd;
634 samechip[*chipcount].plen = full_costs[i].plen; 635 samechip[*chipcount].plen = full_costs[i].plen;
635 (*chipcount)++; 636 (*chipcount)++;
@@ -638,7 +639,7 @@ void get_ovd_plen_umaxeon(struct full_ovd_plen *full_costs, int num_samples,
638 } 639 }
639 } 640 }
640 641
641 dprintf("offchip\n"); 642 dprintf("memory (%d,%d)\n", last_cpu, curr_cpu);
642 /* if we are here it should have been an offchip migration */ 643 /* if we are here it should have been an offchip migration */
643 offchip[*offcount].ovd = full_costs[i].ovd; 644 offchip[*offcount].ovd = full_costs[i].ovd;
644 offchip[*offcount].plen = full_costs[i].plen; 645 offchip[*offcount].plen = full_costs[i].plen;