lkml.org 
[lkml]   [2009]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:tracing/urgent] Documentation: Update ftrace-design.txt
    Commit-ID:  7e25f44cbf8d95a9748fdfd19c06145f19fd10e3
    Gitweb: http://git.kernel.org/tip/7e25f44cbf8d95a9748fdfd19c06145f19fd10e3
    Author: Randy Dunlap <randy.dunlap@oracle.com>
    AuthorDate: Fri, 18 Dec 2009 15:17:12 -0800
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Sun, 20 Dec 2009 06:18:25 +0100

    Documentation: Update ftrace-design.txt

    Correct grammos. Spell out words. Add missing words.
    Consistent use of "mcount()" function name.

    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Acked-by: Steven Rostedt <rostedt@goodmis.org>
    LKML-Reference: <4B2C0D78.6060707@oracle.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    Documentation/trace/ftrace-design.txt | 14 +++++++-------
    1 files changed, 7 insertions(+), 7 deletions(-)

    diff --git a/Documentation/trace/ftrace-design.txt b/Documentation/trace/ftrace-design.txt
    index 641a1ef..239f14b 100644
    --- a/Documentation/trace/ftrace-design.txt
    +++ b/Documentation/trace/ftrace-design.txt
    @@ -53,14 +53,14 @@ size of the mcount call that is embedded in the function).
    For example, if the function foo() calls bar(), when the bar() function calls
    mcount(), the arguments mcount() will pass to the tracer are:
    "frompc" - the address bar() will use to return to foo()
    - "selfpc" - the address bar() (with _mcount() size adjustment)
    + "selfpc" - the address bar() (with mcount() size adjustment)

    Also keep in mind that this mcount function will be called *a lot*, so
    optimizing for the default case of no tracer will help the smooth running of
    your system when tracing is disabled. So the start of the mcount function is
    -typically the bare min with checking things before returning. That also means
    -the code flow should usually kept linear (i.e. no branching in the nop case).
    -This is of course an optimization and not a hard requirement.
    +typically the bare minimum with checking things before returning. That also
    +means the code flow should usually be kept linear (i.e. no branching in the nop
    +case). This is of course an optimization and not a hard requirement.

    Here is some pseudo code that should help (these functions should actually be
    implemented in assembly):
    @@ -131,10 +131,10 @@ some functions to save (hijack) and restore the return address.

    The mcount function should check the function pointers ftrace_graph_return
    (compare to ftrace_stub) and ftrace_graph_entry (compare to
    -ftrace_graph_entry_stub). If either of those are not set to the relevant stub
    +ftrace_graph_entry_stub). If either of those is not set to the relevant stub
    function, call the arch-specific function ftrace_graph_caller which in turn
    calls the arch-specific function prepare_ftrace_return. Neither of these
    -function names are strictly required, but you should use them anyways to stay
    +function names is strictly required, but you should use them anyway to stay
    consistent across the architecture ports -- easier to compare & contrast
    things.

    @@ -144,7 +144,7 @@ but the first argument should be a pointer to the "frompc". Typically this is
    located on the stack. This allows the function to hijack the return address
    temporarily to have it point to the arch-specific function return_to_handler.
    That function will simply call the common ftrace_return_to_handler function and
    -that will return the original return address with which, you can return to the
    +that will return the original return address with which you can return to the
    original call site.

    Here is the updated mcount pseudo code:

    \
     
     \ /
      Last update: 2009-12-20 06:25    [W:0.024 / U:67.416 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site