lkml.org 
[lkml]   [2008]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Inflation of vmlinux by linker on x86_64
    Joris van Rantwijk wrote:
    >
    > On 26 sep 2008, at 20:52, H. Peter Anvin wrote:
    >> Instead of adding a comment like this, we should simply rename it
    >> memmove().
    >
    > Yes. I tried, but it clashed with an existing memmove declaration in
    > asm-x86/string_32.h.
    >
    > What is the accepted solution for this?
    > Redefining memmove should be allowed, but then it could no longer be a
    > static function.
    > Using the memmove implementation from the main kernel would be painful
    > and ugly.
    > We could also define "__memmove()" plus "#define memmove __memmove",
    > which would also be ugly.
    >
    >> Furthermore, we probably spend enough time copying that using a real
    >> memmove() implementation, using string instructions, would be good.
    >
    > Are string instructions that much faster?
    > We can also get some speedup by copying ints instead of chars.
    >

    String instructions are indeed very much faster, especially on recent
    hardware where they are optimized in microcode.

    In this case, I think the easiest thing to do is to provide an optimized
    memmove and not making it a static function. I have a reasonably
    optimized memmove in 32-bit assembly at:

    http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=blob;f=com32/lib/memmove.S;hb=HEAD

    A 64-bit implementation can be done on similar principles.

    -hpa



    \
     
     \ /
      Last update: 2008-09-26 22:09    [W:4.766 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site