lkml.org 
[lkml]   [2019]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 06/37] perf trace: Order -e syscalls table
    Date
    From: Arnaldo Carvalho de Melo <acme@redhat.com>

    The ev_qualifier is an array with the syscall ids passed via -e on the
    command line, sort it as we'll search it when setting up the
    BPF_MAP_TYPE_PROG_ARRAY.

    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-c8hprylp3ai6e0z9burn2r3s@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/builtin-trace.c | 8 ++++++++
    1 file changed, 8 insertions(+)

    diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
    index bfd739a321d1..9bd5ecd6a8dd 100644
    --- a/tools/perf/builtin-trace.c
    +++ b/tools/perf/builtin-trace.c
    @@ -1528,6 +1528,13 @@ static int trace__read_syscall_info(struct trace *trace, int id)
    return syscall__set_arg_fmts(sc);
    }

    +static int intcmp(const void *a, const void *b)
    +{
    + const int *one = a, *another = b;
    +
    + return *one - *another;
    +}
    +
    static int trace__validate_ev_qualifier(struct trace *trace)
    {
    int err = 0;
    @@ -1591,6 +1598,7 @@ static int trace__validate_ev_qualifier(struct trace *trace)
    }

    trace->ev_qualifier_ids.nr = nr_used;
    + qsort(trace->ev_qualifier_ids.entries, nr_used, sizeof(int), intcmp);
    out:
    if (printed_invalid_prefix)
    pr_debug("\n");
    --
    2.21.0
    \
     
     \ /
      Last update: 2019-07-22 19:40    [W:3.264 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site