perf tools: Support arch specific PERF_SAMPLE_WEIGHT_STRUCT processing
authorKan Liang <kan.liang@linux.intel.com>
Fri, 5 Feb 2021 16:01:52 +0000 (08:01 -0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 18 Feb 2021 19:07:06 +0000 (16:07 -0300)
commitfbefe9c2f87fd392f809f7b78e6d54944800a148
tree160f6ad3e67c431b429ed9180308e8d0d1a86762
parentc840cbfeffcbf2a0fa3856e2ed5ea5c622b9e6b2
perf tools: Support arch specific PERF_SAMPLE_WEIGHT_STRUCT processing

For X86, the var2_w field of PERF_SAMPLE_WEIGHT_STRUCT stands for the
instruction latency. Current perf forces the var2_w to the data->ins_lat
in the generic code. It works well for now because X86 is the only
architecture that supports the PERF_SAMPLE_WEIGHT_STRUCT, but it may
bring problems once other architectures support the sample type.  For
example, the var2_w may be used to capture something else on PowerPC.

Create two architecture specific functions to parse and synthesize the
weight related samples. Move the X86 specific codes to the X86 version
functions. Other architectures can implement their own functions later
separately.

Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lore.kernel.org/lkml/1612540912-6562-1-git-send-email-kan.liang@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/x86/util/event.c
tools/perf/util/event.h
tools/perf/util/evsel.c
tools/perf/util/synthetic-events.c