diff options
Diffstat (limited to 'tools/perf/util/session.c')
| -rw-r--r-- | tools/perf/util/session.c | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 7a5f03764702..098080287c68 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -595,6 +595,7 @@ static void perf_event__mmap2_swap(union perf_event *event,  	event->mmap2.maj   = bswap_32(event->mmap2.maj);  	event->mmap2.min   = bswap_32(event->mmap2.min);  	event->mmap2.ino   = bswap_64(event->mmap2.ino); +	event->mmap2.ino_generation = bswap_64(event->mmap2.ino_generation);  	if (sample_id_all) {  		void *data = &event->mmap2.filename; @@ -710,6 +711,18 @@ static void perf_event__namespaces_swap(union perf_event *event,  		swap_sample_id_all(event, &event->namespaces.link_info[i]);  } +static void perf_event__cgroup_swap(union perf_event *event, bool sample_id_all) +{ +	event->cgroup.id = bswap_64(event->cgroup.id); + +	if (sample_id_all) { +		void *data = &event->cgroup.path; + +		data += PERF_ALIGN(strlen(data) + 1, sizeof(u64)); +		swap_sample_id_all(event, data); +	} +} +  static u8 revbyte(u8 b)  {  	int rev = (b >> 4) | ((b & 0xf) << 4); @@ -952,6 +965,7 @@ static perf_event__swap_op perf_event__swap_ops[] = {  	[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_CGROUP]		  = perf_event__cgroup_swap,  	[PERF_RECORD_TEXT_POKE]		  = perf_event__text_poke_swap,  	[PERF_RECORD_HEADER_ATTR]	  = perf_event__hdr_attr_swap,  	[PERF_RECORD_HEADER_EVENT_TYPE]	  = perf_event__event_type_swap, |