Messages in this thread | | | Date | Thu, 26 Dec 2013 11:15:07 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH] perf stat: Do not show stats if workload fails |
| |
Em Thu, Dec 26, 2013 at 09:11:22AM -0500, David Ahern escreveu: > On 12/24/13, 8:30 AM, Arnaldo Carvalho de Melo wrote: > >Em Tue, Dec 24, 2013 at 09:53:42AM -0300, Arnaldo Carvalho de Melo escreveu: > >>>The thing to check is perf_evlist__{prepare,start}_workload notification > >>>errors using SIGUSR1, that we need to check for in the caller, and emit > >>>the message, no? > >Something like this: > > > >1. We tell perf_evlist__prepare_workload that we want a signal if execvp > >fails, it will be a SIGUSR1 > > > >2. We catch that signal in 'stat' and check that we got a signal, only > >problem so far with this signal maze is that we're getting a SIGCHLD > >while I was expecting a SIGUSR1... I.e. the "if (signr != -1) test > >really should be if (signr == SIGUSR1), but I'm getting a SIGCHLD there > >and the elves are tugging me away... > > Did the elves release you? > > There are all kinds of failure paths with the workload functions. In > the end I was focusing on perf-stat actually checking the rc on the > start_workload function. If it fails, then write() failed and > something happened to the workload process. In that case don't show > the counters. > > Handling the other error paths with appropriate messages will take > additional effort - as you are finding. ;-)
Right, but I can't apply that patch, as it makes 'perf stat whatever-workload' to fail, as I realized when doing a demo to someone interested in using perf ;-\
So for now I'm not applying that one.
Ah, at this point elves are everywhere, dammit! ;-)
- Arnaldo
| |