mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 08:18:47 +00:00
perf session: Add missing swap ops for namespace events
In case it's recorded in a different arch. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Hari Bathini <hbathini@linux.vnet.ibm.com> <hbathini@linux.vnet.ibm.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Krister Johansen <kjlx@templeofstupid.com> Fixes: f3b3614a284d ("perf tools: Add PERF_RECORD_NAMESPACES to include namespaces related info") Link: http://lkml.kernel.org/r/20190522053250.207156-3-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
6584140ba9
commit
acd244b84b
@ -647,6 +647,26 @@ static void perf_event__throttle_swap(union perf_event *event,
|
||||
swap_sample_id_all(event, &event->throttle + 1);
|
||||
}
|
||||
|
||||
static void perf_event__namespaces_swap(union perf_event *event,
|
||||
bool sample_id_all)
|
||||
{
|
||||
u64 i;
|
||||
|
||||
event->namespaces.pid = bswap_32(event->namespaces.pid);
|
||||
event->namespaces.tid = bswap_32(event->namespaces.tid);
|
||||
event->namespaces.nr_namespaces = bswap_64(event->namespaces.nr_namespaces);
|
||||
|
||||
for (i = 0; i < event->namespaces.nr_namespaces; i++) {
|
||||
struct perf_ns_link_info *ns = &event->namespaces.link_info[i];
|
||||
|
||||
ns->dev = bswap_64(ns->dev);
|
||||
ns->ino = bswap_64(ns->ino);
|
||||
}
|
||||
|
||||
if (sample_id_all)
|
||||
swap_sample_id_all(event, &event->namespaces.link_info[i]);
|
||||
}
|
||||
|
||||
static u8 revbyte(u8 b)
|
||||
{
|
||||
int rev = (b >> 4) | ((b & 0xf) << 4);
|
||||
@ -887,6 +907,7 @@ static perf_event__swap_op perf_event__swap_ops[] = {
|
||||
[PERF_RECORD_LOST_SAMPLES] = perf_event__all64_swap,
|
||||
[PERF_RECORD_SWITCH] = perf_event__switch_swap,
|
||||
[PERF_RECORD_SWITCH_CPU_WIDE] = perf_event__switch_swap,
|
||||
[PERF_RECORD_NAMESPACES] = perf_event__namespaces_swap,
|
||||
[PERF_RECORD_HEADER_ATTR] = perf_event__hdr_attr_swap,
|
||||
[PERF_RECORD_HEADER_EVENT_TYPE] = perf_event__event_type_swap,
|
||||
[PERF_RECORD_HEADER_TRACING_DATA] = perf_event__tracing_data_swap,
|
||||
|
Loading…
x
Reference in New Issue
Block a user