perf/core: Change the layout of perf_sample_data
authorNamhyung Kim <namhyung@kernel.org>
Thu, 29 Dec 2022 20:40:59 +0000 (12:40 -0800)
committerIngo Molnar <mingo@kernel.org>
Mon, 9 Jan 2023 11:22:09 +0000 (12:22 +0100)
commit7bdb1767bf011c7f6065ac483ad2f00e434c3979
tree57aa387d8cfa4f2e2dce6e09be8e044bc44a4838
parentb0bd3336d87f3403094fbadc7803c1d5bf3df4f7
perf/core: Change the layout of perf_sample_data

The layout of perf_sample_data is designed to minimize cache-line
access.  The perf_sample_data_init() used to initialize a couple of
fields unconditionally so they were placed together at the head.

But it's changed now to set the fields according to the actual
sample_type flags.  The main user (the perf tools) sets the IP, TID,
TIME, PERIOD always.  Also group relevant fields like addr, phys_addr
and data_page_size.

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20221229204101.1099430-1-namhyung@kernel.org
include/linux/perf_event.h