lkml.org 
[lkml]   [2008]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 0/2] Immediate Values - jump patching update
    Ingo Molnar wrote:
    > * H. Peter Anvin <hpa@zytor.com> wrote:
    >
    >> What I'm proposing is:
    >>
    >>> [ .... fastpath head ...... ]
    >>> [ .... 5-byte CALL .......... ] ---> NOP-ed out
    >>> [ .... fastpath tail .......... ]
    >>> [ ............................. ]
    >> The call site is created with an asm() statement as opposed to a gcc
    >> function call; it is up to the logging function to take the state and
    >> mangle it into whatever format it wants to; the debugging information
    >> (e.g. DWARF) should tell it all it needs to know about how the
    >> register/memory state maps onto the C state. This mapping can either
    >> be done online, with a small piece of dynamic code, or offline
    >> (although offline makes it tricky to know what memory tems to gather.)
    >
    > that would be rather impractical as we'd force DEBUG_INFO builds on
    > anyone (it's HUGE) just to do some trivial tracing. Look at the ftrace
    > plugin usage model - it wants to be widely available and easy to use.
    >

    Otherwise you're forcing everyone to take the cost of additional cache
    footprint, plus optimizer interference, just because they might want to
    possibly do some trivial tracing. DEBUG_INFO is The Right Thing for
    this, as it carries all the information you may want in a well-defined
    format. You don't necessarily have to keep all this information around,
    of course; you can distill out the information for the trace sites at
    compile time and keep a tracer information file, after which you can
    strip the information.

    There is actually yet another alternative, though, which is to build the
    tracer at compile time. The tricky part of this is that it almost
    requires inserting a preprocessor before the assembler, and use really
    ugly asm() macros to extract the very information that the debug format
    is designed explicitly to extract!

    Personally, I think requiring DEBUG_INFO is a helluva lot less ugly than
    these branch hacks.

    -hpa


    \
     
     \ /
      Last update: 2008-04-29 01:17    [W:0.033 / U:32.920 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site