Re: [TRIVIAL] kstrdup

H. Peter Anvin (hpa@zytor.com)
18 Apr 2003 12:24:09 -0700


Followup to: <3EA0469D.7090602@pobox.com>
By author: Jeff Garzik <jgarzik@pobox.com>
In newsgroup: linux.dev.kernel
>
> That's kinda cute. Why not submit a patch to the strcpy implementation
> in include/asm-i386/string.h? :) Ours is shorter, but does have a jump:
> "1:\tlodsb\n\t"
> "stosb\n\t"
> "testb %%al,%%al\n\t"
> "jne 1b"
>
> Which is better? I don't know; I'm still learning the performance
> eccentricities of x86 insns on various processors.
>

It varies from porocessor to processor, and also depends on usage.

>
> Related x86 question: if the memory buffer is not dword-aligned, is
> 'rep movsl' the best idea? On RISC it's usually smarter to unroll the
> head of the loop to avoid unaligned accesses; but from reading x86 asm
> code in the kernel, nobody seems to care about that. Is the
> unaligned-access penalty so small that the increased code size of the
> head-unroll is never worth it?
>

A lot of the newer x86 processors will perform this unrolling in
microcode.

-hpa

-- 
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!
"Unix gives you enough rope to shoot yourself in the foot."
Architectures needed: ia64 m68k mips64 ppc ppc64 s390 s390x sh v850 x86-64
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/