24 Aug, 2016

1 commit

  • Storing this value will help prevent unwinders from getting out of sync
    with the function graph tracer ret_stack. Now instead of needing a
    stateful iterator, they can compare the return address pointer to find
    the right ret_stack entry.

    Note that an array of 50 ftrace_ret_stack structs is allocated for every
    task. So when an arch implements this, it will add either 200 or 400
    bytes of memory usage per task (depending on whether it's a 32-bit or
    64-bit platform).

    Signed-off-by: Josh Poimboeuf
    Acked-by: Steven Rostedt
    Cc: Andy Lutomirski
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Byungchul Park
    Cc: Denys Vlasenko
    Cc: Frederic Weisbecker
    Cc: H. Peter Anvin
    Cc: Kees Cook
    Cc: Linus Torvalds
    Cc: Nilay Vaish
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/a95cfcc39e8f26b89a430c56926af0bb217bc0a1.1471607358.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar

    Josh Poimboeuf
     

19 Jul, 2014

1 commit


07 Mar, 2014

2 commits

  • As the data parameter is not really used by any ftrace_dyn_arch_init,
    remove that from ftrace_dyn_arch_init. This also removes the addr
    local variable from ftrace_init which is now unused.

    Note the documentation was imprecise as it did not suggest to set
    (*data) to 0.

    Link: http://lkml.kernel.org/r/1393268401-24379-4-git-send-email-jslaby@suse.cz

    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: linux-arch@vger.kernel.org
    Signed-off-by: Jiri Slaby
    Signed-off-by: Steven Rostedt

    Jiri Slaby
     
  • No architecture uses the "data" parameter in ftrace_dyn_arch_init() in any
    way, it just sets the value to 0. And this is used as a return value
    in the caller -- ftrace_init, which just checks the retval against
    zero.

    Note there is also "return 0" in every ftrace_dyn_arch_init. So it is
    enough to check the retval and remove all the indirect sets of data on
    all archs.

    Link: http://lkml.kernel.org/r/1393268401-24379-3-git-send-email-jslaby@suse.cz

    Cc: linux-arch@vger.kernel.org
    Signed-off-by: Jiri Slaby
    Signed-off-by: Steven Rostedt

    Jiri Slaby
     

08 Feb, 2011

2 commits

  • Some architectures have unusual symbol names and the generic code to
    match the symbol name with the function name for the syscall metadata
    will fail. For example, symbols on PPC64 start with a period and the
    generic code will fail to match them.

    This patch moves the match logic out into a separate function which an
    arch can override by defining ARCH_HAS_SYSCALL_MATCH_SYM_NAME in
    asm/ftrace.h and implementing arch_syscall_match_sym_name.

    Signed-off-by: Ian Munsie
    LKML-Reference:
    Signed-off-by: Steven Rostedt

    Ian Munsie
     
  • Some architectures use non-trivial system call tables and will not work
    with the generic arch_syscall_addr code. For example, PowerPC64 uses a
    table of twin long longs.

    This patch makes the generic arch_syscall_addr weak to allow
    architectures with non-trivial system call tables to override it.

    Signed-off-by: Ian Munsie
    LKML-Reference:
    Signed-off-by: Steven Rostedt

    Ian Munsie
     

21 Jul, 2010

1 commit


27 Feb, 2010

1 commit


17 Feb, 2010

1 commit

  • Most implementations of arch_syscall_addr() are the same, so create a
    default version in common code and move the one piece that differs (the
    syscall table) to asm/syscall.h. New arch ports don't have to waste
    time copying & pasting this simple function.

    The s390/sparc versions need to be different, so document why.

    Signed-off-by: Mike Frysinger
    Acked-by: David S. Miller
    Acked-by: Paul Mundt
    Acked-by: Heiko Carstens
    Cc: Steven Rostedt
    LKML-Reference:
    Signed-off-by: Frederic Weisbecker

    Mike Frysinger
     

27 Jan, 2010

1 commit


20 Dec, 2009

1 commit


14 Oct, 2009

1 commit

  • Document the arch needed requirements to get the support for syscalls
    tracing.

    v2: HAVE_FTRACE_SYSCALLS have been changed to HAVE_SYSCALL_TRACEPOINTS
    recently. Update this config name in the documentation then.

    Signed-off-by: Frederic Weisbecker
    Acked-by: Heiko Carstens
    Cc: Ingo Molnar
    Cc: Steven Rostedt
    Cc: Li Zefan
    Cc: Masami Hiramatsu
    Cc: Jason Baron
    Cc: Lai Jiangshan
    Cc: Martin Schwidefsky
    Cc: Paul Mundt

    Frederic Weisbecker
     

15 Sep, 2009

1 commit

  • While implementing function tracer and function tracer graph support,
    I found the exact arch implementation details to be a bit lacking
    (and my x86 foo ain't great). So after pounding out support for
    the Blackfin arch, start documenting the requirements/details.

    Signed-off-by: Mike Frysinger
    LKML-Reference:
    Acked-by: Frederic Weisbecker
    Signed-off-by: Steven Rostedt

    Mike Frysinger