lkml.org 
[lkml]   [2012]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] x86-64: fix memset() to support sizes of 4Gb and above
    >>> On 06.01.12 at 12:05, Ingo Molnar <mingo@elte.hu> wrote:

    > * Jan Beulich <JBeulich@suse.com> wrote:
    >
    >> While currently there doesn't appear to be any reachable
    >> in-tree case where such large memory blocks may be passed to
    >> memset() (alloc_bootmem() being the primary non-reachable one,
    >> as it gets called with suitably large sizes in FLATMEM
    >> configurations), we have recently hit the problem a second
    >> time in our Xen kernels. Rather than working around it a
    >> second time, prevent others from falling into the same trap by
    >> fixing this long standing limitation.
    >>
    >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
    >
    > Have you checked the before/after size of the hotpath?
    >
    > The patch suggests that it got shorter by 3 instructions:
    >
    >> - movl %edx,%r8d
    >> - andl $7,%r8d
    >> - movl %edx,%ecx
    >> - shrl $3,%ecx
    >> + movq %rdx,%rcx
    >> + andl $7,%edx
    >> + shrq $3,%rcx
    >
    > [...]
    >
    >> movq %rdi,%r10
    >> - movq %rdx,%r11
    >>
    >
    > [...]
    >
    >> - movl %r11d,%ecx
    >> - andl $7,%ecx
    >> + andl $7,%edx
    >
    > Is that quick impression correct? I have not tried building or
    > measuring it.

    Yes, that's correct.

    As the bodies of the individual flavors didn't change, I see no risk in
    this change causing any performance degradation.

    > Would be nice to add support for arch/x86/lib/memset_64.S as
    > well, and look at the before/after performance of it. In
    > userspace we can do a lot more accurate measurements of this
    > kind:

    I'll see whether I can get this done, but I admit that I'm entirely
    unfamiliar with this tool and its infrastructure. I hope doing this is
    not going to be a requirement for acceptance of the patch.

    Jan



    \
     
     \ /
      Last update: 2012-01-06 13:33    [W:0.023 / U:59.752 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site