[PATCH 5/7] powerpc/perf: Define big-endian version of perf_mem_data_src
Sukadev Bhattiprolu
sukadev at linux.vnet.ibm.com
Mon Aug 12 03:15:35 EST 2013
Vince Weaver [vince at deater.net] wrote:
| On Sat, 10 Aug 2013, Sukadev Bhattiprolu wrote:
|
| >
| > include/uapi/linux/perf_event.h | 55 +++++++++++++++++++++++++++++++++++++++
| > 1 files changed, 55 insertions(+), 0 deletions(-)
|
| > +#define __PERF_LE 1234
| > +#define __PERF_BE 4321
| > +
| > +#if defined(__KERNEL__)
|
| I could be wrong, but I thought files under uapi weren't supposed to
| contain __KERNEL__ code. Wasn't that the whole point of uapi?
|
| Also having the perf_event interface depend on endianess just seems like a
| complicated mess. Can't we just declare the interface to be a certain
| endianess and have the kernel byte-swap as necessary?
Except for the __KERNEL__ check, it looked like this approach would keep
the kernel and user code same. Would it complicate user space ?
I tried to avoid the __KERNEL__ check hack, but like I tried to explain
in the patch, user space and kernel do the endian check differently.
And, there are about ~300 sites in the kernel with __*ENDIAN checks
Sukadev
More information about the Linuxppc-dev
mailing list