lkml.org 
[lkml]   [2009]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH][GIT PULL] x86, function-graph: only save return values on x86_64

    On Thu, 26 Mar 2009, Jaswinder Singh Rajput wrote:
    > >
    > > diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
    > > index a331ec3..1ac9986 100644
    > > --- a/arch/x86/kernel/entry_64.S
    > > +++ b/arch/x86/kernel/entry_64.S
    > > @@ -147,27 +147,14 @@ END(ftrace_graph_caller)
    > > GLOBAL(return_to_handler)
    > > subq $80, %rsp
    > >
    > > + /* Save the return values */
    > > movq %rax, (%rsp)
    > > - movq %rcx, 8(%rsp)
    > > - movq %rdx, 16(%rsp)
    > > - movq %rsi, 24(%rsp)
    > > - movq %rdi, 32(%rsp)
    > > - movq %r8, 40(%rsp)
    > > - movq %r9, 48(%rsp)
    > > - movq %r10, 56(%rsp)
    > > - movq %r11, 64(%rsp)
    > > + movq %rdx, 8(%rsp)
    > >
    > > call ftrace_return_to_handler
    > >
    > > movq %rax, 72(%rsp)
    > > - movq 64(%rsp), %r11
    > > - movq 56(%rsp), %r10
    > > - movq 48(%rsp), %r9
    > > - movq 40(%rsp), %r8
    > > - movq 32(%rsp), %rdi
    > > - movq 24(%rsp), %rsi
    > > - movq 16(%rsp), %rdx
    > > - movq 8(%rsp), %rcx
    > > + movq 8(%rsp), %rdx
    > > movq (%rsp), %rax
    > > addq $72, %rsp
    > > retq
    >
    > hmm, is this gonna work:
    > movq %rax, 16(%rsp)
    > movq 8(%rsp), %rdx
    > movq (%rsp), %rax
    > addq $16, %rsp
    > retq

    Interesting. I was just talking over IRC with Frederic about this. One
    theory about his earlier failures was not having a proper stack frame when
    calling the function. This is probably a bogus theory and there was
    probably something else that broke the code. But there is no harm in
    allocating 80 bytes (it worked before). Thus, I rather error on the side
    of least change than risk it.

    -- Steve



    \
     
     \ /
      Last update: 2009-03-25 22:29    [W:0.028 / U:30.860 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site