Messages in this thread | | | Date | Mon, 30 Jan 2012 10:09:32 +0900 | From | Namhyung Kim <> | Subject | Re: [PATCH 2/5] perf record: Add error message for EMFILE |
| |
Hello,
2012-01-30 12:28 AM, David Ahern wrote: > On 01/29/2012 01:55 AM, Namhyung Kim wrote: >> When a user tries to open so many events, perf_event_oen syscall >> may fail with EMFILE. Provide an advice for that case. >> >> Signed-off-by: Namhyung Kim <namhyung@gmail.com> >> --- >> tools/perf/builtin-record.c | 4 ++++ >> 1 files changed, 4 insertions(+), 0 deletions(-) >> >> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c >> index 32870eef952f..5d3b6794d93b 100644 >> --- a/tools/perf/builtin-record.c >> +++ b/tools/perf/builtin-record.c >> @@ -249,6 +249,10 @@ try_again: >> ui__warning("The %s event is not supported.\n", >> event_name(pos)); >> exit(EXIT_FAILURE); >> + } else if (err == EMFILE) { >> + ui__warning("Too many events are opened.\n" >> + "Try again after reducing the number of events.\n"); >> + exit(EXIT_FAILURE); >> } >> >> printf("\n"); > > It's not just the number of events: an fd is opened for each specified > event on each specified cpu and for each specified task. See > __perf_evsel__open(). e.g., the new --uid option on a 16 cpu server can > hit the limit pretty fast. > > David
Right. How about this then? If it looks OK to you, I'll resend the patch for record, top, stat:
Too many events are opened. Try again after reducing the number of events, tasks and/or cpus.
Thanks, Namhyung
| |