~ubuntu-branches/ubuntu/utopic/pytimechart/utopic

« back to all changes in this revision

Viewing changes to timechart/plugins/menu_select.py

  • Committer: Package Import Robot
  • Author(s): Varun Hiremath
  • Date: 2011-11-13 18:14:30 UTC
  • Revision ID: package-import@ubuntu.com-20111113181430-bg2ompukqunnyhtt
Tags: upstream-1.0.0~rc1
ImportĀ upstreamĀ versionĀ 1.0.0~rc1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from timechart.plugin import *
 
2
from timechart import colors
 
3
from timechart.model import tcProcess
 
4
 
 
5
class menu_select(plugin):
 
6
    additional_colors = """
 
7
menu_select_bg          #e5bebe
 
8
menu_select             #ee0000
 
9
"""
 
10
    additional_ftrace_parsers = [
 
11
    ( 'menu_select', 'expected:%d predicted %d state:%s %d','expected','predicted','next_state','num_state'),
 
12
    ]
 
13
    additional_process_types = {
 
14
        "menu_select":(tcProcess, POWER_CLASS),
 
15
        }
 
16
    @staticmethod
 
17
    def do_event_menu_select(proj,event):
 
18
        try:
 
19
           a= event.predicted
 
20
        except AttributeError:
 
21
           return
 
22
        found = 0
 
23
        i = 0
 
24
        while not found:
 
25
            p = proj.generic_find_process(0,"menu_select_cpu%d_%d_predicted"%(event.common_cpu,i),"menu_select")
 
26
            p2 = proj.generic_find_process(0,"menu_select_cpu%d_%d_expected"%(event.common_cpu,i),"menu_select")
 
27
            if len(p['end_ts'])>0 and len(p2['end_ts'])>0 and (p['end_ts'][-1]>event.timestamp or p2['end_ts'][-1]>event.timestamp):
 
28
                i+=1
 
29
                continue
 
30
            found = 1
 
31
        p['start_ts'].append(int(event.timestamp))
 
32
        p['end_ts'].append(int(event.timestamp+event.predicted))
 
33
        p['types'].append(colors.get_color_id("menu_select"))
 
34
        p['cpus'].append(event.common_cpu)
 
35
 
 
36
        p = p2
 
37
        p['start_ts'].append(int(event.timestamp))
 
38
        p['end_ts'].append(int(event.timestamp+event.expected))
 
39
        p['types'].append(colors.get_color_id("menu_select"))
 
40
        p['cpus'].append(event.common_cpu)
 
41
plugin_register(menu_select)
 
42
 
 
43
menu_select_patch="""
 
44
diff --git a/drivers/cpuidle/governors/menu.c b/drivers/cpuidle/governors/menu.c
 
45
index 1b12870..4b18893 100644
 
46
--- a/drivers/cpuidle/governors/menu.c
 
47
+++ b/drivers/cpuidle/governors/menu.c
 
48
@@ -292,6 +292,7 @@ static int menu_select(struct cpuidle_device *dev)
 
49
                data->exit_us = s->exit_latency;
 
50
                data->last_state_idx = i;
 
51
        }
 
52
+       trace_printk("expected:%u predicted %llu state:%s %d\n",data->expected_us, data->predicted_us, dev->states[data->last_state_idx].name, dev->state_count);
 
53
 
 
54
        return data->last_state_idx;
 
55
 }
 
56
"""