lkml.org 
[lkml]   [2020]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH RFC v3 01/12] perf jevents: Add support for an extra directory level
    Date
    Currently we support upto a level 2 directory, and level 2 would be in the
    form vendor/platform.

    Add support for a further level, to hold specific categories of events for
    when we want to segregate them for matching purposes.

    Signed-off-by: John Garry <john.garry@huawei.com>
    ---
    tools/perf/pmu-events/jevents.c | 11 ++++++++---
    1 file changed, 8 insertions(+), 3 deletions(-)

    diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
    index fa86c5f997cc..c7868d0a7a6b 100644
    --- a/tools/perf/pmu-events/jevents.c
    +++ b/tools/perf/pmu-events/jevents.c
    @@ -981,15 +981,20 @@ static int process_one_file(const char *fpath, const struct stat *sb,
    int level = ftwbuf->level;
    int err = 0;

    - if (level == 2 && is_dir) {
    + if (level >= 2 && is_dir) {
    + int count = 0;
    /*
    * For level 2 directory, bname will include parent name,
    * like vendor/platform. So search back from platform dir
    * to find this.
    + * Something similar for level 3 directory, but we're a PMU
    + * category folder, like vendor/platform/cpu.
    */
    bname = (char *) fpath + ftwbuf->base - 2;
    for (;;) {
    if (*bname == '/')
    + count++;
    + if (count == level - 1)
    break;
    bname--;
    }
    @@ -1002,13 +1007,13 @@ static int process_one_file(const char *fpath, const struct stat *sb,
    level, sb->st_size, bname, fpath);

    /* base dir or too deep */
    - if (level == 0 || level > 3)
    + if (level == 0 || level > 4)
    return 0;


    /* model directory, reset topic */
    if ((level == 1 && is_dir && is_leaf_dir(fpath)) ||
    - (level == 2 && is_dir)) {
    + (level >= 2 && is_dir && is_leaf_dir(fpath))) {
    if (close_table)
    print_events_table_suffix(eventsfp);

    --
    2.16.4
    \
     
     \ /
      Last update: 2020-05-07 14:03    [W:4.379 / U:0.572 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site