10 May, 2012

1 commit

  • perf stat on PPC currently fails to run:

    $ perf stat -- sleep 1
    Error: open_counter returned with 6 (No such device or address). /bin/dmesg may provide additional information.

    Fatal: Not all events could be opened.

    The problem is that until 2.6.37 (behavior changed with commit b0a873e)
    perf on PPC returns ENXIO when hw_perf_event_init() fails. With this
    patch we get the expected behavior:

    $ perf stat -v -- sleep 1
    cycles event is not supported by the kernel.
    stalled-cycles-frontend event is not supported by the kernel.
    stalled-cycles-backend event is not supported by the kernel.
    instructions event is not supported by the kernel.
    branches event is not supported by the kernel.
    branch-misses event is not supported by the kernel.

    ...

    Signed-off-by: David Ahern
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1336490956-57145-1-git-send-email-dsahern@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     

07 May, 2012

1 commit

  • We don't know what types of warnings different versions of flex
    and bison combined with different versions of gcc is going to
    generate, so just punt and don't warn about anything.

    This fixes the build of perf for me on an openSUSE 12.1 system.

    Signed-off-by: Greg Kroah-Hartman
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20120504183254.GA11154@kroah.com
    Signed-off-by: Ingo Molnar

    Greg Kroah-Hartman
     

03 May, 2012

1 commit


02 May, 2012

3 commits

  • Pull two bug fixes in ktest from Steven Rostedt.

    * tag 'ktest-for-v3.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
    ktest: Fix reboot on success stopping all reboots
    ktest.pl: Fix combined usage of BISECT_REVERSE and BISECT_SKIP

    Linus Torvalds
     
  • By default, perf stat sets exclude_guest = 1. But when you run perf on a
    kernel which does not support host/guest filtering, then you get an
    error saying the event in unsupported. This comes from the fact that
    when the perf_event_attr struct passed by the user is larger than the
    one known to the kernel there is safety check which ensures that all
    unknown bits are zero. But here, exclude_guest is 1 (part of the unknown
    bits) and thus the perf_event_open() syscall return EINVAL.

    To my surprise, running perf record on the same kernel did not exhibit
    the problem. The reason is that perf record handles the problem by
    catching the error and retrying with guest/host excludes set to zero.
    For some reason, this was not done with perf stat. This patch fixes this
    problem.

    Signed-off-by: Stephane Eranian
    Cc: Gleb Natapov
    Cc: Ingo Molnar
    Cc: Joerg Roedel
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Link: http://lkml.kernel.org/r/20120427124538.GA7230@quad
    Signed-off-by: Arnaldo Carvalho de Melo

    Stephane Eranian
     
  • The filename is a pointer variable so the sizeof(filename) will return
    length of a pointer. Fix it by using 'size'.

    Signed-off-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1335881976-3282-1-git-send-email-namhyung@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     

01 May, 2012

2 commits

  • The change to let individual tests decide to reboot the machine on
    success of the entire test also prevented errors from rebooting
    when an error was detected.

    The "no_reboot" variable was only cleared if the test had
    reboot_on_success set. But the no_reboot variable also prevents the test
    rebooting when an error was detected even when REBOOT_ON_ERROR was set.

    Add a new "reboot_success" variable that is used to determine if the
    test should reboot on success and not touch the no_reboot variable.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • When BISECT_REVERSE and BISECT_SKIP are used together with boot or test
    testing, build failures are treated as boot or test failures and
    'git bisect bad' is executed instead of 'git bisect skip'. This is because
    the $ret value of -1 is treated as a build failure, but the $reverse_bisect
    logic does not properly handle this.

    Simple fix, only invert it if it is positive.

    Link: http://lkml.kernel.org/r/1335235380-8509-1-git-send-email-Russ.Dill@ti.com

    Signed-off-by: Russ Dill
    Signed-off-by: Steven Rostedt

    Russ Dill
     

21 Apr, 2012

1 commit

  • When loading symbols from DSO we check multiple paths of DSO binary
    until we succeed to load symbols ('.symtab' section). Once symbols are
    read we try to load also plt symbols.

    During the reading of plt symbols, the dso file is reopened from
    location given by dso->long_name. This could be wrong in case we want
    process buildid binaries.

    The change is to make the plt symbols being read from the DSO path, that
    normal symbols were read from.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1334756818-6631-1-git-send-email-jolsa@redhat.com
    [ committer note: moved dso to be the first parameter of that function ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

17 Apr, 2012

2 commits

  • They were dropped during conversion of event parser. Add test case to
    make sure this will not happen again.

    Signed-off-by: Gleb Natapov
    Acked-by: Jiri Olsa
    Cc: Avi Kivity
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Jiri Olsa
    Link: http://lkml.kernel.org/r/20120417111345.GK11918@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Gleb Natapov
     
  • The flex and bison tools generate arch-independent C code so its
    binaries are not prefixed with the target-arch prefix. With this patch
    the Linux 3.4-rc2 can be successfuly build on OE-Core.

    Signed-off-by: Otavio Salvador
    Link: http://lkml.kernel.org/r/1334148270-13139-1-git-send-email-otavio@ossystems.com.br
    Signed-off-by: Arnaldo Carvalho de Melo

    Otavio Salvador
     

16 Apr, 2012

1 commit

  • While testing https://lkml.org/lkml/2012/4/10/123 I hit this crash:

    (gdb) bt
    0 0x000000000042000f in __cmd_report (rep=0x7fff80cec580) at builtin-report.c:380
    1 cmd_report (argc=0, argv=, prefix=) at builtin-report.c:759
    2 0x0000000000414513 in run_builtin (p=0x7724a8, argc=3, argv=0x7fff80ceca70) at perf.c:273
    3 0x0000000000413d41 in handle_internal_command (argv=0x7fff80ceca70, argc=3) at perf.c:345
    4 run_argv (argv=0x7fff80cec880, argcp=0x7fff80cec88c) at perf.c:389
    5 main (argc=3, argv=0x7fff80ceca70) at perf.c:487

    kernel_map can be NULL, so need to handle it while dumping a warning
    to user.

    v2:
    - fixed RB_EMPTY_ROOT check -- desc takes the altnerative output when RB_EMPTY_ROOT is false.

    Signed-off-by: David Ahern
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Namhyung Kim
    Link: http://lkml.kernel.org/r/1334544855-55021-1-git-send-email-dsahern@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     

15 Apr, 2012

4 commits

  • …it/acme/linux into perf/urgent

    Pull perf tooling fixes from Arnaldo Carvalho de Melo:

    . Properly handle ~/.debug, the build id cache, when it is a symlink,
    fix from Chanho Park

    . Fixes for the parser generation process, from Jiri Olsa and Namhyung Kim

    . Fix build when NO_GTK2 is specified, From Stephane Eranian

    . When a machine is not found, bump the relevant error stat but return
    0, so that we correctly move to the next perf event. Fix from Jiri Olsa

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • If a '$PERF_BUILDID_DIR'(typically $HOME/.debug) is a symbolic link
    directory, cutting of the path will fail.

    Here is an example where a buildid directory is a symbolic link.

    / # ls -al /root
    lrwxrwxrwx 1 root root 13 Mar 26 2012 /root -> opt/home/root
    / # cd ~
    /opt/home/root # perf record -a -g sleep 1
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.322 MB perf.data (~14057 samples) ]
    /opt/home/root # perf archive
    tar: Removing leading `/' from member names
    Now please run:

    $ tar xvf perf.data.tar.bz2 -C ~/.debug

    wherever you need to run 'perf report' on.
    /opt/home/root # mkdir temp
    /opt/home/root # tar xf perf.data.tar.bz2 -C ./temp
    /opt/home/root # find ./temp -name "*kernel*"
    ./temp/opt/home/root/.debug/[kernel.kallsyms]

    -> If successfully cut off the path, [kernel.kallsyms] is located
    in top of the archived file.

    This patch enables to cut correctly even if the buildid directory
    is a symbolic link.

    Signed-off-by: Chanho Park
    Signed-off-by: Kyungmin Park
    Cc: Ingo Molnar
    Cc: Kyungmin Park
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1333348109-12598-1-git-send-email-chanho61.park@samsung.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Chanho Park
     
  • The commit 65f3e56e0c81 ("perf tools: Remove auto-generated bison/flex
    files") removed those files from git, so they'll be listed on untracked
    files after building perf. Fix it.

    Signed-off-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1333948274-20043-1-git-send-email-namhyung.kim@lge.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Currently the parsers objects (bison/flex related) are each time perf
    is built. No matter the generated files are already in place, the
    parser generation is executed every time.

    Changing the rules to have proper flex/bison objects generation
    dependencies.

    The parsers code is not rebuilt until the flex/bison source files
    are touched. Also when flex/bison source is changed, only dependent
    objects are rebuilt.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1334140791-3024-1-git-send-email-jolsa@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

13 Apr, 2012

3 commits


12 Apr, 2012

1 commit

  • In case the perf_session__process_event function fails, we estimate the
    next event offset.

    This is not necessary for sample event failing on unknown ID or machine.
    In such case we know proper size of the event, so we dont need to guess.
    Also failure statistics are updated correctly so we don't miss any
    information.

    Forcing perf_session__process_event to return 0 in case of unknown ID or
    machine.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1334233262-5679-3-git-send-email-jolsa@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

11 Apr, 2012

1 commit

  • Running 'perf kvm --host --guest --guestmount /tmp/guestmount record -a -g -- sleep 2'

    Was resulting in a segfault. For event type PERF_RECORD_MMAP,
    event->ip.pid is being used in perf_session__find_machine_for_cpumode,
    which is not correct.

    The event->ip.pid field happens to be 0 in this case and results in
    returning a NULL machine object. Finally, access to self->pid in
    machine__mmap_name, results in a segfault later.

    For PERF_RECORD_MMAP type, pass event->mmap.pid.

    Signed-off-by: Nikunj A. Dadhania
    Reviewed-by: David Ahern
    Tested-by: David Ahern
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Nikunj A. Dadhania
    Link: http://lkml.kernel.org/r/20120409081835.10576.22018.stgit@abhimanyu.in.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Nikunj A. Dadhania
     

06 Apr, 2012

5 commits

  • This routine was checking only if the provided address was after
    sym->end, not if it was before sym->start.

    Fix that by checking for both and return in both cases -ERANGE, so that
    tools can communicate this to the user properly, or if they chose so, to
    abort.

    This problem was reported previously but the fixes involved either doing
    what was being done for the > end case, i.e. silently drop the sample,
    returning 0, or aborting at this function, which is in a lib (or better,
    is slated to be at some point) and shouldn't abort.

    The 'report' tool already checks this value and uses pr_debug to warn
    the user.

    This patch makes the 'top' tool check it too and warn once per map where
    such range problem takes place.

    Reported-by: David Miller
    Reported-by: Sorin Dumitru
    Reported-by: Stephane Eranian
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/n/tip-lw8gs7p9i9nhldilo82tzpne@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • If there's an event with no samples in data file, the perf report
    command can segfault after entering the event details menu.

    Following steps reproduce the issue:

    # ./perf record -e syscalls:sys_enter_kexec_load,syscalls:sys_enter_mmap ls
    # ./perf report
    # enter '0 syscalls:sys_enter_kexec_load' menu
    # pres ENTER twice

    Above steps are valid assuming ls wont run kexec.. ;)

    The check for sellection to be NULL is missing. The fix makes sure it's
    being check. Above steps now endup with menu being displayed allowing
    'Exit' as the only option.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1333570898-10505-2-git-send-email-jolsa@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • When a process exec()'s, all the maps are retired, but we keep the hist
    entries around which hold references to those outdated maps.

    If the same library gets mapped in for which we have hist entries, a new
    map will be created. But when we take a perf entry hit within that map,
    we'll find the existing hist entry with the older map.

    This causes symbol translations to be done incorrectly. For example,
    the perf entry processing will lookup the correct uptodate map entry and
    use that to calculate the symbol and DSO relative address. But later
    when we update the histogram we'll translate the address using the
    outdated map file instead leading to conditions such as out-of-range
    offsets in symbol__inc_addr_samples().

    Therefore, update the map of the hist_entry dynamically at lookup/
    creation time.

    Signed-off-by: David S. Miller
    Cc: stable@kernel.org
    Link: http://lkml.kernel.org/r/20120327.031418.1220315351537060808.davem@davemloft.net
    Signed-off-by: Arnaldo Carvalho de Melo

    David Miller
     
  • We were only decaying the entries for the offsets that were associated
    with an objdump line.

    That way, when we accrued the whole instruction addr range, more than
    100% was appearing in some cases in the live annotation TUI.

    Fix it by not traversing the source code line at all, just iterate thru
    the complete addr range decaying each one.

    Reported-by: Mike Galbraith
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-hcae5oxa22syjrnalsxz7s6n@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • TODO: Accrue the cycles in the skip_list to an idle total, and show this
    on the 'top' UI, as suggested by Steven.

    Cc: Eric Dumazet
    Cc: Frederic Weisbecker
    Cc: Mike Galbraith
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/n/tip-9nfecmgghgl5747rjxqpc28f@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

04 Apr, 2012

1 commit

  • On a system running glibc trunk perf doesn't build:

    CC builtin-sched.o
    builtin-sched.c: In function ‘get_cpu_usage_nsec_parent’: builtin-sched.c:399:16: error: storage size of ‘ru’ isn’t known builtin-sched.c:403:2: error: implicit declaration of function ‘getrusage’ [-Werror=implicit-function-declaration]
    [...]

    Fix it by including sys/resource.h.

    Signed-off-by: Markus Trippelsdorf
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20120404084527.GA294@x4
    Signed-off-by: Ingo Molnar

    Markus Trippelsdorf
     

01 Apr, 2012

1 commit

  • Pull perf updates and fixes from Ingo Molnar:
    "It's mostly fixes, but there's also two late items:

    - preliminary GTK GUI support for perf report
    - PMU raw event format descriptors in sysfs, to be parsed by tooling

    The raw event format in sysfs is a new ABI. For example for the 'CPU'
    PMU we have:

    aldebaran:~> ll /sys/bus/event_source/devices/cpu/format/*
    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/any
    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/cmask
    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/edge
    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/event
    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/inv
    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/offcore_rsp
    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/pc
    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/umask

    those lists of fields contain a specific format:

    aldebaran:~> cat /sys/bus/event_source/devices/cpu/format/offcore_rsp
    config1:0-63

    So, those who wish to specify raw events can now use the following
    event format:

    -e cpu/cmask=1,event=2,umask=3

    Most people will not want to specify any events (let alone raw
    events), they'll just use whatever default event the tools use.

    But for more obscure PMU events that have no cross-architecture
    generic events the above syntax is more usable and a bit more
    structured than specifying hex numbers."

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)
    perf tools: Remove auto-generated bison/flex files
    perf annotate: Fix off by one symbol hist size allocation and hit accounting
    perf tools: Add missing ref-cycles event back to event parser
    perf annotate: addr2line wants addresses in same format as objdump
    perf probe: Finder fails to resolve function name to address
    tracing: Fix ent_size in trace output
    perf symbols: Handle NULL dso in dso__name_len
    perf symbols: Do not include libgen.h
    perf tools: Fix bug in raw sample parsing
    perf tools: Fix display of first level of callchains
    perf tools: Switch module.h into export.h
    perf: Move mmap page data_head offset assertion out of header
    perf: Fix mmap_page capabilities and docs
    perf diff: Fix to work with new hists design
    perf tools: Fix modifier to be applied on correct events
    perf tools: Fix various casting issues for 32 bits
    perf tools: Simplify event_read_id exit path
    tracing: Fix ftrace stack trace entries
    tracing: Move the tracing_on/off() declarations into CONFIG_TRACING
    perf report: Add a simple GTK2-based 'perf report' browser
    ...

    Linus Torvalds
     

31 Mar, 2012

2 commits

  • …/linux into perf/urgent

    Ingo Molnar
     
  • Pull ACPI & Power Management changes from Len Brown:
    - ACPI 5.0 after-ripples, ACPICA/Linux divergence cleanup
    - cpuidle evolving, more ARM use
    - thermal sub-system evolving, ditto
    - assorted other PM bits

    Fix up conflicts in various cpuidle implementations due to ARM cpuidle
    cleanups (ARM at91 self-refresh and cpu idle code rewritten into
    "standby" in asm conflicting with the consolidation of cpuidle time
    keeping), trivial SH include file context conflict and RCU tracing fixes
    in generic code.

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (77 commits)
    ACPI throttling: fix endian bug in acpi_read_throttling_status()
    Disable MCP limit exceeded messages from Intel IPS driver
    ACPI video: Don't start video device until its associated input device has been allocated
    ACPI video: Harden video bus adding.
    ACPI: Add support for exposing BGRT data
    ACPI: export acpi_kobj
    ACPI: Fix logic for removing mappings in 'acpi_unmap'
    CPER failed to handle generic error records with multiple sections
    ACPI: Clean redundant codes in scan.c
    ACPI: Fix unprotected smp_processor_id() in acpi_processor_cst_has_changed()
    ACPI: consistently use should_use_kmap()
    PNPACPI: Fix device ref leaking in acpi_pnp_match
    ACPI: Fix use-after-free in acpi_map_lsapic
    ACPI: processor_driver: add missing kfree
    ACPI, APEI: Fix incorrect APEI register bit width check and usage
    Update documentation for parameter *notrigger* in einj.txt
    ACPI, APEI, EINJ, new parameter to control trigger action
    ACPI, APEI, EINJ, limit the range of einj_param
    ACPI, APEI, Fix ERST header length check
    cpuidle: power_usage should be declared signed integer
    ...

    Linus Torvalds
     

30 Mar, 2012

6 commits

  • These should not be in the Git history - they are auto-generated.

    Extend the Makefile rules of the parser files to include the generation
    run.

    Signed-off-by: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20120327183335.GA27621@gmail.com
    [ committer note: Fixed up O= handling ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Ingo Molnar
     
  • Sometimes users have turbostat running in interval mode
    when they take processors offline/online.

    Previously, turbostat would survive, but not gracefully.

    Tighten up the error checking so turbostat notices
    changesn sooner, and print just 1 line on change:

    turbostat: re-initialized with num_cpus %d

    Signed-off-by: Len Brown

    Len Brown
     
  • turbostat uses /dev/cpu/*/msr interface to read MSRs.
    For modern systems, it reads 10 MSR/CPU. This can
    be observed as 10 "Function Call Interrupts"
    per CPU per sample added to /proc/interrupts.

    This overhead is measurable on large idle systems,
    and as Yoquan Song pointed out, it can even trick
    cpuidle into thinking the system is busy.

    Here turbostat re-schedules itself in-turn to each
    CPU so that its MSR reads will always be local.
    This replaces the 10 "Function Call Interrupts"
    with a single "Rescheduling interrupt" per sample
    per CPU.

    On an idle 32-CPU system, this shifts some residency from
    the shallow c1 state to the deeper c7 state:

    # ./turbostat.old -s
    %c0 GHz TSC %c1 %c3 %c6 %c7 %pc2 %pc3 %pc6 %pc7
    0.27 1.29 2.29 0.95 0.02 0.00 98.77 20.23 0.00 77.41 0.00
    0.25 1.24 2.29 0.98 0.02 0.00 98.75 20.34 0.03 77.74 0.00
    0.27 1.22 2.29 0.54 0.00 0.00 99.18 20.64 0.00 77.70 0.00
    0.26 1.22 2.29 1.22 0.00 0.00 98.52 20.22 0.00 77.74 0.00
    0.26 1.38 2.29 0.78 0.02 0.00 98.95 20.51 0.05 77.56 0.00
    ^C
    i# ./turbostat.new -s
    %c0 GHz TSC %c1 %c3 %c6 %c7 %pc2 %pc3 %pc6 %pc7
    0.27 1.20 2.29 0.24 0.01 0.00 99.49 20.58 0.00 78.20 0.00
    0.27 1.22 2.29 0.25 0.00 0.00 99.48 20.79 0.00 77.85 0.00
    0.27 1.20 2.29 0.25 0.02 0.00 99.46 20.71 0.03 77.89 0.00
    0.28 1.26 2.29 0.25 0.01 0.00 99.46 20.89 0.02 77.67 0.00
    0.27 1.20 2.29 0.24 0.01 0.00 99.48 20.65 0.00 78.04 0.00

    cc: Youquan Song
    Signed-off-by: Len Brown

    Len Brown
     
  • Pull cpupower updates from Dominik Brodowski.

    * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/cpupowerutils:
    cpupower tools: add install target to the debug tools' makefiles
    cpupower tools: allow to build debug tools in a separate directory too
    cpupower: Fix broken mask values
    cpupower tool: allow to build in a separate directory
    cpupower tool: makefile: simplify the recipe used to generate cpupower.pot target
    cpupower tool: remove use of undefined variables from the clean target of the top makefile
    cpupower: Fix linking with --as-needed
    cpupower: Remove unneeded code and by that fix a memleak
    cpupower: Fix number of idle states
    cpupower: Unify cpupower-frequency-* manpages
    cpupower: Add cpupower-idle-info manpage
    cpupower: AMD fam14h/Ontario monitor can also be used by fam12h cpus
    cpupower: Better interface for accessing AMD pci registers

    Linus Torvalds
     
  • We were not noticing it because symbol__inc_addr_samples was erroneously
    dropping samples that hit the last byte in a function.

    Working on a fix for a problem reported by David Miller, Stephane
    Eranian and Sorin Dumitru, where addresses < sym->start were causing
    problems, I noticed this other problem.

    Cc: David Ahern
    Cc: David Miller
    Cc: Frederic Weisbecker
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Sorin Dumitru
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-pqjaq4cr1xs2xen73pjhbav4@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • turbostat -s
    cuts down on the amount of output, per user request.

    also treak some output whitespace and the man page.

    Signed-off-by: Len Brown

    Len Brown
     

29 Mar, 2012

4 commits

  • The commit 89812fc81f8d ("perf tools: Add parser generator for events
    parsing") changed event parsing engine but missed the ref-cycles event.
    Add it.

    Signed-off-by: Namhyung Kim
    Acked-by: Jiri Olsa
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1333016517-10591-1-git-send-email-namhyung.kim@lge.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • hugepage-mmap.c, hugepage-shm.c and map_hugetlb.c in Documentation/vm are
    simple pass/fail tests, It's better to promote them to
    tools/testing/selftests.

    Thanks suggestion of Andrew Morton about this. They all need firstly
    setting up proper nr_hugepages and hugepage-mmap need to mount hugetlbfs.
    So I add a shell script run_vmtests to do such work which will call the
    three test programs and check the return value of them.

    Changes to original code including below:
    a. add run_vmtests script
    b. return error when read_bytes mismatch with writed bytes.
    c. coding style fixes: do not use assignment in if condition

    [akpm@linux-foundation.org: build the targets before trying to execute them]
    [akpm@linux-foundation.org: Documentation/vm/ no longer has a Makefile. Fixes "make clean"]
    Signed-off-by: Dave Young
    Cc: Wu Fengguang
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: Frederic Weisbecker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • We have tools/vm/ folder for vm tools, so move slabinfo.c from tools/slub/
    to tools/vm/

    Signed-off-by: Dave Young
    Cc: Wu Fengguang
    Acked-by: Christoph Lameter
    Cc: Pekka Enberg
    Cc: Frederic Weisbecker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • tools/ is the better place for vm tools which are used by many people.
    Moving them to tools also make them open to more users instead of hide in
    Documentation folder.

    This patch moves page-types.c to tools/vm/page-types.c. Also add a
    Makefile in tools/vm and fix two coding style problems: a) change const
    arrary to 'const char * const', b) change a space to tab for indent.

    Signed-off-by: Dave Young
    Acked-by: Wu Fengguang
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: Frederic Weisbecker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young