Re: [Powertop] hrtimer events are not properly added -- is this bug or feature?
Chris Ferron <chris.e.ferron at linux.intel.com> Wed, 25 Jul 2012 10:45:47 -0700
| Newsgroups | dev.linux.lists.powertop |
|---|---|
| Message-ID | <[email protected]> |
On 07/24/2012 12:24 AM, Igor Zhbanov wrote:
> Hello!
>
> In the function start_process_measurement() in the file
> src/process/do_process.cpp
> events are added to perf_bundle:
> perf_events->add_event("irq:softirq_entry");
> perf_events->add_event("irq:softirq_exit");
> perf_events->add_event("timer:timer_expire_entry");
> perf_events->add_event("timer:timer_expire_exit");
> perf_events->add_event("hrtimer_expire_entry"); /* !!! */
> perf_events->add_event("hrtimer_expire_exit"); /* !!! */
> if (!perf_events->add_event("power:cpu_idle")){
> perf_events->add_event("power:power_start");
> perf_events->add_event("power:power_end");
> }
>
> As you may see all events are prefixed with the subsystem name.
> All but hrtimer_expire_entry and hrtimer_expire_exit. And without
> "timer:" prefix
> these events are never catched.
>
> So I have added this prefix and see that events are intercepted as
> needed.
> But event parser complains about wrong event format:
> unknown op '{'
> failed to read event print fmt for hrtimer_expire_entry
>
> It seems that event parser can't handle square bracket in print format
> for the event:
> print fmt: "hrtimer=%p function=%pf now=%llu", REC->hrtimer,
> REC->function, (unsigned long long)(((ktime_t) { .tv64 = REC->now
> }).tv64)
>
> So is the absence of "timer:" prefix a bug or a commenting of
> non-working case?
>
> Thank you.
>
Im looking into this