• Corey Ashford's avatar
    perf stat: Change and clean up sys_perf_event_open error handling · d9cf837e
    Corey Ashford authored
    This patch makes several changes to "perf stat":
    
    - "perf stat" will no longer go ahead and run the application when one or
    more of the specified events could not be opened.
    - Use error() and die() instead of pr_err() so that the output is more
    consistent with "perf top" and "perf record".
    - Handle permission errors in a more robust way, and in a similar way to
    "perf record" and "perf top".
    
    In addition, the sys_perf_event_open() error handling of "perf top" and "perf
    record" is made more consistent and adds the following phrase when an event
    doesn't open (with something ther than an access or permission error):
    
    "/bin/dmesg may provide additional information."
    
    This is added because kernel code doesn't have a good way of expressing
    detailed errors to user space, so its only avenue is to use printk's.  However,
    many users may not think of looking at dmesg to find out why an event is being
    rejected.
    
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Peter Zijlstra <fweisbec@gmail.com>
    Cc: Ian Munsie <ianmunsi@au1.ibm.com>
    Cc: Michael Ellerman <michaele@au1.ibm.com>
    LKML-Reference: <1290217044-26293-1-git-send-email-cjashfor@linux.vnet.ibm.com>
    Signed-off-by: default avatarCorey Ashford <cjashfor@linux.vnet.ibm.com>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    d9cf837e
builtin-stat.c 18.2 KB