aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn B. Brandenburg <bbb@cs.unc.edu>2010-06-08 21:40:18 -0400
committerBjörn B. Brandenburg <bbb@cs.unc.edu>2010-06-08 21:40:18 -0400
commit9c35a356c25ce5761925cdf0da621b0d9cb50e18 (patch)
treeaab5b74322dceabc3a55246b2c7a68f4e315a85e
parent67ae8f6ec0ed6a727d73ad45806bfd50804c35b2 (diff)
Support plotting of RTSS'08 graphs.
-rwxr-xr-xplot.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/plot.py b/plot.py
index b961c6d..23f8ee5 100755
--- a/plot.py
+++ b/plot.py
@@ -298,6 +298,51 @@ class SchedPlotter(defapp.App):
298 else: 298 else:
299 p.gnuplot_exec() 299 p.gnuplot_exec()
300 300
301
302 def plot_rtss08(self, tmpfile, name, conf):
303 p = self.make_plot(name)
304
305 #### Data.
306
307 titles = ['P-EDF', 'C-EDF', 'G-EDF', 'PFAIR', 'S-PFAIR', 'G-NP-EDF']
308 if 'hard' in conf:
309 del titles[-1]
310
311 p.curves += [curve(fname=tmpfile, xcol=1, ycol=(y + 2), title=t)
312 for (y, t) in enumerate(titles)]
313
314 #### Styling.
315
316 if not self.setup_png(p):
317 # eps or pdf
318 p.rounded_caps = True
319 p.font = 'Helvetica'
320
321 p.font_size = '10'
322 p.size = ('20cm', '10cm')
323 p.monochrome = False
324 p.dashed_lines = False
325 p.key = 'below'
326
327 p.xticks = (0, 1)
328 p.yrange = (-0.05, 1.05)
329 p.yticks = (0, 0.1)
330 p.xlabel = "ucap (prior to inflation)"
331 p.default_style = 'linespoints lw 5'
332
333 p.ylabel = "schedulability " + (' [soft]' if 'soft' in conf else ' [hard]')
334 p.xrange = (0.5, 32.5)
335
336 p.title = scenario_heading(conf, True)
337 if not self.options.paper:
338 p.title = "RTSS'08 " + p.title
339
340 if self.options.save_script:
341 p.gnuplot_save(p.output + '.plot')
342 else:
343 p.gnuplot_exec()
344
345
301 def plot_rtss09(self, tmpfile, name, conf): 346 def plot_rtss09(self, tmpfile, name, conf):
302 title = scenario_heading(conf, want_period=True) 347 title = scenario_heading(conf, want_period=True)
303 graphs = [ 348 graphs = [
@@ -426,6 +471,8 @@ class SchedPlotter(defapp.App):
426 self.plot_spec4(tmpfile.name, name, conf) 471 self.plot_spec4(tmpfile.name, name, conf)
427 elif 'irq' in conf: 472 elif 'irq' in conf:
428 self.plot_irq(tmpfile.name, name, conf) 473 self.plot_irq(tmpfile.name, name, conf)
474 elif 'rtss08' in conf:
475 self.plot_rtss08(tmpfile.name, name, conf)
429 elif 'rtss09' in conf: 476 elif 'rtss09' in conf:
430 if self.options.split: 477 if self.options.split:
431 self.plot_rtss09_split(tmpfile.name, name, conf) 478 self.plot_rtss09_split(tmpfile.name, name, conf)