Messages in this thread |  | | | Subject | Re: [PATCH 2/2] byteorder: eliminate pointer bytorder api | | From | Harvey Harrison <> | | Date | Tue, 20 May 2008 15:15:25 -0700 |
| |
On Tue, 2008-05-20 at 14:17 -0700, David Miller wrote: > 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.
Obviously I missed that part, my apologies. Would it be acceptable if, taking the possibly arch-specific parts, moved the [endian]_to_cpup name over to get_[endian]
ie:
le16_to_cpup -> get_le16
I'd leave cpu_to_le16p alone (it's not used that much anyway).
To make it similar to the get_unaligned_le16 helpers?
Thanks for having a look,
Harvey
|  |