10 Sep, 2010

1 commit

  • By returning immediately if it was already initialized, do it as well at
    symbol__exit, refusing multiple deinitializations.

    This fixes problems in the kmem, sched and timechart commands.

    Reported-by: Davidlohr Bueso
    Cc: Davidlohr Bueso
    Signed-off-by: Jovi Zhang
    LKML-Reference: AANLkTi=9Cn=R8SPMCRp5z+gEjXbaBHeb-AaOtRbuwwcn@mail.gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jovi Zhang
     

08 Sep, 2010

2 commits

  • Don't make argument names from raw parameters (means the parameters are written
    in kprobe-tracer syntax), because the argument syntax may include special
    characters. Just leave it, then kprobe-tracer gives a new name.

    Reported-by: Srikar Dronamraju
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Arnaldo Carvalho de Melo

    Masami Hiramatsu
     
  • Fix a bug to support %return probe syntax again. Previous commit 4235b04 has a
    bug which disables the %return syntax on perf probe.

    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Arnaldo Carvalho de Melo

    Masami Hiramatsu
     

27 Aug, 2010

1 commit

  • Each histogram entry has a callchain root that stores the
    callchain samples. However we forgot to initialize the
    tracking of children hits of these roots, which then got
    random values on their creation.

    The root children hits is multiplied by the minimum percentage
    of hits provided by the user, and the result becomes the minimum
    hits expected from children branches. If the random value due
    to the uninitialization is big enough, then this minimum number
    of hits can be huge and eventually filter every children branches.

    The end result was invisible callchains. All we need to
    fix this is to initialize the children hits of the root.

    Reported-by: Christoph Hellwig
    Signed-off-by: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Paul Mackerras
    Cc: 2.6.32.x-2.6.35.y

    Frederic Weisbecker
     

19 Aug, 2010

1 commit

  • Parts of the build process were generating files outside the specified
    O= directory, causing the build to fail on systems where the sources are
    in a read only file system.

    Fix it by using $(OUTPUT) on these locations.

    Also check that $(OUTPUT) actually exists, just like the top level
    kernel Makefile does. Otherwise the failure message emitted is
    completely misleading.

    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    LKML-Reference:
    Signed-off-by: Kusanagi Kouichi
    Signed-off-by: Arnaldo Carvalho de Melo

    Kusanagi Kouichi
     

17 Aug, 2010

1 commit

  • POSIX sh does not specify the brace expansion, so fix it by replacing the
    global $(shell ...) lines quite at the top creating the output directories with
    real rules.

    Cc: Ingo Molnar
    Cc: Kusanagi Kouichi
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    LKML-Reference:
    Signed-off-by: Bernd Petrovitsch
    Signed-off-by: Arnaldo Carvalho de Melo

    Bernd Petrovitsch
     

16 Aug, 2010

1 commit

  • As part of ongoing effort to reduce the coupling with libnewt, browsers
    are being changed to return the exit key.

    The annotate browser is not returning it as expected by builtin-annotate
    when annotating multiple symbols (when 'perf annotate' is called without
    specifying a symbol name).

    Fix it by returning the exit key and also adding the RIGHT key as a exit
    key so that going to the next symbol in the TUI can work again.

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

    Arnaldo Carvalho de Melo
     

13 Aug, 2010

2 commits


11 Aug, 2010

13 commits


08 Aug, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (82 commits)
    firewire: core: add forgotten dummy driver methods, remove unused ones
    firewire: add isochronous multichannel reception
    firewire: core: small clarifications in core-cdev
    firewire: core: remove unused code
    firewire: ohci: release channel in error path
    firewire: ohci: use memory barriers to order descriptor updates
    tools/firewire: nosy-dump: increment program version
    tools/firewire: nosy-dump: remove unused code
    tools/firewire: nosy-dump: use linux/firewire-constants.h
    tools/firewire: nosy-dump: break up a deeply nested function
    tools/firewire: nosy-dump: make some symbols static or const
    tools/firewire: nosy-dump: change to kernel coding style
    tools/firewire: nosy-dump: work around segfault in decode_fcp
    tools/firewire: nosy-dump: fix it on x86-64
    tools/firewire: add userspace front-end of nosy
    firewire: nosy: note ioctls in ioctl-number.txt
    firewire: nosy: use generic printk macros
    firewire: nosy: endianess fixes and annotations
    firewire: nosy: annotate __user pointers and __iomem pointers
    firewire: nosy: fix device shutdown with active client
    ...

    Linus Torvalds
     

07 Aug, 2010

5 commits

  • As new TUI features get added the newt.c file is growing a lot and its
    name is growing misleading as an effort is being made to reduce the
    coupling with libnewt.

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

    Arnaldo Carvalho de Melo
     
  • So that building other browser based on structures linked via a linked
    list can be as easy as it is already for the ones linked via an rb_tree.

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

    Arnaldo Carvalho de Melo
     
  • Fix several memory leaks of pkgs and tevs in add_perf_probe_events().

    Reported-by: Arnaldo Carvalho de Melo
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: linux-kernel@vger.kernel.org
    LKML-Reference:

    Signed-off-by: Arnaldo Carvalho de Melo

    Masami Hiramatsu
     
  • Copy type field if it is for raw parameters.
    Without this fix, perf probe drops the type if user passes it
    for raw parameters (e.g. %ax:u32 will be converted to %ax).

    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Frederic Weisbecker
    Signed-off-by: Masami Hiramatsu
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Masami Hiramatsu
     
  • …git/tip/linux-2.6-tip

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (162 commits)
    tracing/kprobes: unregister_trace_probe needs to be called under mutex
    perf: expose event__process function
    perf events: Fix mmap offset determination
    perf, powerpc: fsl_emb: Restore setting perf_sample_data.period
    perf, powerpc: Convert the FSL driver to use local64_t
    perf tools: Don't keep unreferenced maps when unmaps are detected
    perf session: Invalidate last_match when removing threads from rb_tree
    perf session: Free the ref_reloc_sym memory at the right place
    x86,mmiotrace: Add support for tracing STOS instruction
    perf, sched migration: Librarize task states and event headers helpers
    perf, sched migration: Librarize the GUI class
    perf, sched migration: Make the GUI class client agnostic
    perf, sched migration: Make it vertically scrollable
    perf, sched migration: Parameterize cpu height and spacing
    perf, sched migration: Fix key bindings
    perf, sched migration: Ignore unhandled task states
    perf, sched migration: Handle ignored migrate out events
    perf: New migration tool overview
    tracing: Drop cpparg() macro
    perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call
    ...

    Fix up trivial conflicts in Makefile and drivers/cpufreq/cpufreq.c

    Linus Torvalds
     

06 Aug, 2010

10 commits

  • When cmd_record exits the whole perf binary will exit right after,
    so no need to traverse lots of complex data structures freeing them.

    Sticked a comment for leak detectives and for a experiment with obstacks
    to be performed so that we can speed up freeing that memory.

    Cc: Frederic Weisbecker
    Cc: Mike Galbraith
    Cc: Nick Piggin
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Outdent the code following the if.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @r disable braces4@
    position p1,p2;
    statement S1,S2;
    @@

    (
    if (...) { ... }
    |
    if (...) S1@p1 S2@p2
    )

    @script:python@
    p1 << r.p1;
    p2 << r.p2;
    @@

    if (p1[0].column == p2[0].column):
    cocci.print_main("branch",p1)
    cocci.print_secs("after",p2)
    //

    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    LKML-Reference:
    Signed-off-by: Julia Lawall
    Signed-off-by: Arnaldo Carvalho de Melo

    Julia Lawall
     
  • Removed duplicated #includes util/trace-event.h and
    util/exec_cmd.h.
    Grouped and sorted all the #includes.

    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Tom Zanussi
    Cc: Frederic Weisbecker
    Cc: Thomas Gleixner
    LKML-Reference:
    Signed-off-by: Andrea Gelmini
    Signed-off-by: Arnaldo Carvalho de Melo

    Andrea Gelmini
     
  • Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Masami Hiramatsu
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Andrea Gelmini
    Signed-off-by: Arnaldo Carvalho de Melo

    Andrea Gelmini
     
  • Only in verbose mode so as not to bloat struct symbol too much.

    The key used is '/', just like in vi, less, etc.

    More work is needed to allocate space on the symbol in a more clear way.

    This experiment shows how to do it for the hist_browser, in the main
    window.

    Cc: Frederic Weisbecker
    Cc: Mike Galbraith
    Cc: Peter Zijlstra
    Cc: Srikar Dronamraju
    Cc: Stephane Eranian
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • By using BITS_PER_LONG/4 as the width specifier.

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

    Arnaldo Carvalho de Melo
     
  • Otherwise entries will get chopped up on the window.

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

    Arnaldo Carvalho de Melo
     
  • LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Press -> and then "Browse map details" to see the DSO long name as the title
    and the list of symbols in the DSO used by the map where the current symbol is.

    Cc: Frederic Weisbecker
    Cc: Mike Galbraith
    Cc: Peter Zijlstra
    Cc: Srikar Dronamraju
    Cc: Stephane Eranian
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • So that tools that wan't to act only on a subset of (weak, global,
    local) symbols can do so, such as the upcoming uprobes support in 'perf
    probe'.

    Cc: Frederic Weisbecker
    Cc: Mike Galbraith
    Cc: Peter Zijlstra
    Cc: Srikar Dronamraju
    Cc: Stephane Eranian
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

05 Aug, 2010

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ] Remove pointless printk from p4-clockmod.
    [CPUFREQ] Fix section mismatch for powernow_cpu_init in powernow-k7.c
    [CPUFREQ] Fix section mismatch for longhaul_cpu_init.
    [CPUFREQ] Fix section mismatch for longrun_cpu_init.
    [CPUFREQ] powernow-k8: Fix misleading variable naming
    [CPUFREQ] Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)
    [CPUFREQ] arch/x86/kernel/cpu/cpufreq: use for_each_pci_dev()
    [CPUFREQ] fix brace coding style issue.
    [CPUFREQ] x86 cpufreq: Make trace_power_frequency cpufreq driver independent
    [CPUFREQ] acpi-cpufreq: Fix CPU_ANY CPUFREQ_{PRE,POST}CHANGE notification
    [CPUFREQ] ondemand: don't synchronize sample rate unless multiple cpus present
    [CPUFREQ] unexport (un)lock_policy_rwsem* functions
    [CPUFREQ] ondemand: Refactor frequency increase code
    [CPUFREQ] powernow-k8: On load failure, remind the user to enable support in BIOS setup
    [CPUFREQ] powernow-k8: Limit Pstate transition latency check
    [CPUFREQ] Fix PCC driver error path
    [CPUFREQ] fix double freeing in error path of pcc-cpufreq
    [CPUFREQ] pcc driver should check for pcch method before calling _OSC
    [CPUFREQ] fix memory leak in cpufreq_add_dev
    [CPUFREQ] revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)"

    Manually fix up non-data merge conflict introduced by new calling
    conventions for trace_power_start() in commit 6f4f2723d085 ("x86
    cpufreq: Make trace_power_frequency cpufreq driver independent"), which
    didn't update the intel_idle native hardware cpuidle driver.

    Linus Torvalds
     

04 Aug, 2010

1 commit

  • The event__process function is useful in processing /proc//maps. All of
    the functions that are called from event__process are defined in util/event.c.
    Though its defined in builtin-top.c, it could be reused for perf probe for
    uprobes. Hence moving it to util/event.c and exporting the function.

    LKML-Reference:
    Signed-off-by: Srikar Dronamraju
    Signed-off-by: Arnaldo Carvalho de Melo

    Srikar Dronamraju