Re: [PATCH 2/2] byteorder: eliminate pointer bytorder api

David Miller
2008-05-20T21:17:49Z

From: Harvey Harrison <harvey.harrison@gmail.com>
Date: Tue, 20 May 2008 12:24:09 -0700

> Not a great api, should be using cpu_to_etc and deref the pointer yourself.
> cpu_to_le16p
> cpu_to_le32p
> cpu_to_le64p
> cpu_to_be16p
> cpu_to_be32p
> cpu_to_be64p
>
> Replaced by the aligned get_/put_ helpers
> le16_to_cpup
> le32_to_cpup
> le64_to_cpup
> be16_to_cpup
> be32_to_cpup
> be64_to_cpup
>
> Also add const to the get/put helpers and use them in the access_ok case for
> unaligned access.
>
> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

But what you're doing in the first patch is killing performance for some
cases.

The reason we use the cpu_to_*p() interfaces is to get the other-endian
load and store instructions some processors have.

What you're doing is undoing all of that work we've done to take
advantage of such things.