• Ian Rogers's avatar
    perf jevents: Fold strings optimization · d0313e62
    Ian Rogers authored
    If a shorter string ends a longer string then the shorter string may
    reuse the longer string at an offset. For example, on x86 the event
    arith.cycles_div_busy and cycles_div_busy can be folded, even though
    they have difference names the strings are identical after 6
    characters. cycles_div_busy can reuse the arith.cycles_div_busy string
    at an offset of 6.
    
    In pmu-events.c this looks like the following where the 'also:' lists
    folded strings:
    
    /* offset=177541 */ "arith.cycles_div_busy\000\000pipeline\000Cycles the divider is busy\000\000\000event=0x14,period=2000000,umask=0x1\000\000\000\000\000\000\000\000\000" /* also: cycles_div_busy\000\000pipeline\000Cycles the divider is busy\000\000\000event=0x14,period=2000000,umask=0x1\000\000\000\000\000\000\000\000\000 */
    
    As jevents.py combines multiple strings for an event into a larger
    string, the amount of folding is minimal as all parts of the event must
    align. Other organizations can benefit more from folding, but lose space
    by say recording more offsets.
    Signed-off-by: default avatarIan Rogers <irogers@google.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Leo Yan <leo.yan@linaro.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Ravi Bangoria <ravi.bangoria@amd.com>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: https://lore.kernel.org/r/20220812230949.683239-15-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    d0313e62
jevents.py 23 KB