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

From: David Miller
Date: Tue May 20 2008 - 17:17:49 EST


From: Harvey Harrison <harvey.harrison@xxxxxxxxx>
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@xxxxxxxxx>

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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/