Messages in this thread | | | Date | Thu, 03 Oct 2013 07:35:18 -0600 | From | David Ahern <> | Subject | Re: [PATCH] perf tool: report user-friendly error from timechart |
| |
On 10/3/13 6:38 AM, Ingo Molnar wrote: > > * Ramkumar Ramachandra <artagnon@gmail.com> wrote: > >> + /* Perform a quick sanity check */ >> + if (!is_valid_tracepoint("power:cpu_frequency")) { >> + fprintf(stderr, "Error:\tNo permissions to read $debugfs/tracing/events/power/cpu_frequency\n"); >> + fprintf(stderr, "Hint:\tChange the permissions of debugfs: /sys/kernel/debug\n"); >> + fprintf(stderr, "\tThe directory will be present if your kernel was compiled with debugfs support.\n"); > > Is missing permissions the only way how is_valid_tracepoint() can fail? > > What if debugfs has the right permissions but CONFIG_TRACEPOINTS is > disabled in the kernel?
There are a number of reasons that function can fail. The complete solution is to plumb various error numbers and on failure request a string for that failure. Take a look at util/target.[ch] as an example.
The comment applies to the perf-trace patch as well, but it gets more complicated to handle the error paths from perf_evsel__newtp when they dip into the tracepoint code
David
| |