perf tools: Add union u64_swap type for swapping u64 data
authorJiri Olsa <jolsa@redhat.com>
Wed, 16 May 2012 06:59:04 +0000 (08:59 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 22 May 2012 15:50:25 +0000 (12:50 -0300)
The following union:
  union {
        u64 val64;
        u32 val32[2];
  } u;

is used on more than one place in perf code and will be used more in
upcomming patches.

Adding union u64_swap to have it defined globaly so we dont need to
redefine it all the time.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Tested-by: David Ahern <dsahern@gmail.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1337151548-2396-4-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evsel.c
tools/perf/util/types.h

index 9abd8ac508e2c2ccd67986635eed9301f537db5e..57e4ce57bbcc03faf7245f40a0ba3e20b43851d8 100644 (file)
@@ -462,10 +462,7 @@ int perf_event__parse_sample(const union perf_event *event, u64 type,
         * used for cross-endian analysis. See git commit 65014ab3
         * for why this goofiness is needed.
         */
-       union {
-               u64 val64;
-               u32 val32[2];
-       } u;
+       union u64_swap u;
 
        memset(data, 0, sizeof(*data));
        data->cpu = data->pid = data->tid = -1;
@@ -608,10 +605,7 @@ int perf_event__synthesize_sample(union perf_event *event, u64 type,
         * used for cross-endian analysis. See git commit 65014ab3
         * for why this goofiness is needed.
         */
-       union {
-               u64 val64;
-               u32 val32[2];
-       } u;
+       union u64_swap u;
 
        array = event->sample.array;
 
index 5f3689a3d0857be7431f8ed06eac3eb5e9707e18..c51fa6b70a2854c3befeb82af0bf3307b7e8c6c4 100644 (file)
@@ -16,4 +16,9 @@ typedef signed short     s16;
 typedef unsigned char     u8;
 typedef signed char       s8;
 
+union u64_swap {
+       u64 val64;
+       u32 val32[2];
+};
+
 #endif /* __PERF_TYPES_H */