03 Apr, 2010

1 commit

  • Then hist_entry__fprintf will just us the newly introduced
    hist_entry__snprintf, add the newline and fprintf it to the supplied
    FILE descriptor.

    This allows us to remove the use_browser checking in the color_printf
    routines, that now got color_snprintf variants too.

    The newt TUI browser (and other GUIs that may come in the future) don't
    have to worry about stdio specific stuff in the strings they get from
    the se->snprintf routines and instead use whatever means to do the
    equivalent.

    Also the newt TUI browser don't have to use the fmemopen() hack, instead
    it can use the se->snprintf routines directly. For now tho use the
    hist_entry__snprintf routine to reduce the patch size.

    Cc: Frédéric Weisbecker
    Cc: Mike Galbraith
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

25 Sep, 2009

1 commit


17 Aug, 2009

1 commit

  • Librarize trace_event() helper so that perf trace can use it
    too. Also clean up the debug.h includes a bit.

    It's not good to have it included in perf.h because it doesn't
    make it flexible against other headers it may need (headers
    that can also depend on perf.h and then create a recursive
    header dependency).

    Signed-off-by: Frederic Weisbecker
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Mike Galbraith
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     

16 Aug, 2009

1 commit

  • Related to a shadowed variable bug fix Valdis Kletnieks noticed
    that perf does not get built with -Wshadow, which could have
    helped us avoid the bug.

    So enable -Wshadow and also enable the following warnings on
    perf builds, in addition to the already enabled -Wall -Wextra
    -std=gnu99 warnings:

    -Wcast-align
    -Wformat=2
    -Wshadow
    -Winit-self
    -Wpacked
    -Wredundant-decls
    -Wstack-protector
    -Wstrict-aliasing=3
    -Wswitch-default
    -Wswitch-enum
    -Wno-system-headers
    -Wundef
    -Wvolatile-register-var
    -Wwrite-strings
    -Wbad-function-cast
    -Wmissing-declarations
    -Wmissing-prototypes
    -Wnested-externs
    -Wold-style-definition
    -Wstrict-prototypes
    -Wdeclaration-after-statement

    And change/fix the perf code to build cleanly under GCC 4.3.2.

    The list of warnings enablement is rather arbitrary: it's based
    on my (quick) reading of the GCC manpages and trying them on
    perf.

    I categorized the warnings based on individually enabling them
    and looking whether they trigger something in the perf build.
    If i liked those warnings (i.e. if they trigger for something
    that arguably could be improved) i enabled the warning.

    If the warnings seemed to come from language laywers spamming
    the build with tons of nuisance warnings i generally kept them
    off. Most of the sign conversion related warnings were in
    this category. (A second patch enabling some of the sign
    warnings might be welcome - sign bugs can be nasty.)

    I also kept warnings that seem to make sense from their manpage
    description and which produced no actual warnings on our code
    base. These warnings might still be turned off if they end up
    being a nuisance.

    I also left out a few warnings that are not supported in older
    compilers.

    [ Note that these changes might break the build on older
    compilers i did not test, or on non-x86 architectures that
    produce different warnings, so more testing would be welcome. ]

    Reported-by: Valdis.Kletnieks@vt.edu
    Cc: Peter Zijlstra
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Arnaldo Carvalho de Melo
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

03 Jul, 2009

1 commit

  • Among perf annotate, perf report and perf top, we can find the
    common colored printing of percents according to the following
    rules:

    High overhead = > 5%, colored in red
    Mid overhead = > 0.5%, colored in green
    Low overhead = < 0.5%, default color

    Factorize these multiple checks in a single function named
    percent_color_fprintf() and also provide a get_percent_color()
    for sites which print percentages and other things at the same
    time.

    Signed-off-by: Frederic Weisbecker
    Cc: Peter Zijlstra
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Anton Blanchard
    Cc: Arnaldo Carvalho de Melo
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     

07 Jun, 2009

1 commit