RE: [PATCH 2/2] string: improve strlen performance

From: David Laight
Date: Sun May 05 2024 - 09:39:35 EST


From: Kees Cook
> Sent: 02 May 2024 16:11
>
> On Thu, May 02, 2024 at 06:03:04PM +0300, Andy Shevchenko wrote:
> > On Thu, May 2, 2024 at 5:59 PM Andy Shevchenko
> > <andy.shevchenko@xxxxxxxxx> wrote:
> > > On Thu, May 2, 2024 at 5:14 PM Hsin-Yu.Chen <harry021633@xxxxxxxxx> wrote:
> >
> > And on top of that, check what this code will do on the architectures
> > that do not support unaligned access. If everything is fine, mention
> > this in the commit message. Btw, your commit message needs
> > elaboration, e.g., pointing to the test case (which is absent in this
> > patch, I assume it's already in the kernel?) and step-by-step
> > instructions on how you got the mentioned results with details of the
> > hardware you used for that.
>
> I might be worth looking at the implementation of strscpy(), which is
> doing similar multi-byte steps and handles unaligned access.

And x86 really doesn't care about unaligned accesses (for normal registers).
But it is important to not accidentally run off the end of a page.

There is also the whole question of the typical string length.
For short strings you've already lost by the time you've aligned
the address.

On 32bit the whole bit-twiddling may not be worth it at all.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)