Messages in this thread | | | Subject | Re: [PATCH v1 1/2] PM/runtime: introduce trace points for tracing rpm_* functions | From | Steven Rostedt <> | Date | Tue, 27 Sep 2011 16:43:52 -0400 |
| |
On Tue, 2011-09-27 at 22:36 +0200, Rafael J. Wysocki wrote:
> > TP_printk("%pS:%s ret=%d", (void *)__entry->ip, __get_str(name), > > __entry->ret) > > > > try that. > > Well, that certainly will work, but is it the right fix?
Hehe, yes! The pS means to take a pointer and return the string version of the address. Like "schedule+0x3a". __entry->ip is the address of the function that called it __THIS_IP__ but we want to convert that into a string name.
We use ip because both perf and trace-cmd should be smart enough to parse it too. As they both store the kallsyms into the data file.
The (void *) is used because pS wants a pointer, and we stored the address as an unsigned long.
-- Steve
| |