26 Mar, 2011

1 commit

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

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf, x86: Complain louder about BIOSen corrupting CPU/PMU state and continue
    perf, x86: P4 PMU - Read proper MSR register to catch unflagged overflows
    perf symbols: Look at .dynsym again if .symtab not found
    perf build-id: Add quirk to deal with perf.data file format breakage
    perf session: Pass evsel in event_ops->sample()
    perf: Better fit max unprivileged mlock pages for tools needs
    perf_events: Fix stale ->cgrp pointer in update_cgrp_time_from_cpuctx()
    perf top: Fix uninitialized 'counter' variable
    tracing: Fix set_ftrace_filter probe function display
    perf, x86: Fix Intel fixed counters base initialization

    Linus Torvalds
     

24 Mar, 2011

3 commits

  • The original intent of the code was to repeat the search with
    want_symtab = 0. But as the code stands now, we never hit the "default"
    case of the switch statement. Which means we never repeat the search.

    Tested-by: Srikar Dronamraju
    Reported-by: Arun Sharma
    Reported-by: Srikar Dronamraju
    Cc: Dave Martin
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • The a1645ce1 changeset:

    "perf: 'perf kvm' tool for monitoring guest performance from host"

    Added a field to struct build_id_event that broke the file format.

    Since the kernel build-id is the first entry, process the table using
    the old format if the well known '[kernel.kallsyms]' string for the
    kernel build-id has the first 4 characters chopped off (where the pid_t
    sits).

    Reported-by: Han Pingtian
    Cc: Avi Kivity
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    Cc: Zhang Yanmin
    Cc: stable@kernel.org
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Resolving the sample->id to an evsel since the most advanced tools,
    report and annotate, and the others will too when they evolve to
    properly support multi-event perf.data files.

    Good also because it does an extra validation, checking that the ID is
    valid when present. When that is not the case, the overhead is just a
    branch + function call (perf_evlist__id2evsel).

    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

23 Mar, 2011

1 commit

  • builtin-top.c has an uninitialized variable.
    gcc(version 4.5.1) warns about it and it results in build failure:

    builtin-top.c: In function 'display_thread':
    builtin-top.c:518:9: error: 'counter' may be used uninitialized

    This situation can indeed trigger, if the getline() call in
    prompt_integer() fails.

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

    Akihiro Nagai
     

22 Mar, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest:
    ktest: Add STOP_TEST_AFTER to stop the test after a period of time
    ktest: Monitor kernel while running of user tests
    ktest: Fix bug where the test would not end after failure
    ktest: Add BISECT_FILES to run git bisect on paths
    ktest: Add BISECT_SKIP
    ktest: Add manual bisect
    ktest: Handle kernels before make oldnoconfig
    ktest: Start failure timeout on panic too
    ktest: Print logfile name on failure

    Linus Torvalds
     

19 Mar, 2011

1 commit

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

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)
    trace, filters: Initialize the match variable in process_ops() properly
    trace, documentation: Fix branch profiling location in debugfs
    oprofile, s390: Cleanups
    oprofile, s390: Remove hwsampler_files.c and merge it into init.c
    perf: Fix tear-down of inherited group events
    perf: Reorder & optimize perf_event_context to remove alignment padding on 64 bit builds
    perf: Handle stopped state with tracepoints
    perf: Fix the software events state check
    perf, powerpc: Handle events that raise an exception without overflowing
    perf, x86: Use INTEL_*_CONSTRAINT() for all PEBS event constraints
    perf, x86: Clean up SandyBridge PEBS events
    perf lock: Fix sorting by wait_min
    perf tools: Version incorrect with some versions of grep
    perf evlist: New command to list the names of events present in a perf.data file
    perf script: Add support for H/W and S/W events
    perf script: Add support for dumping symbols
    perf script: Support custom field selection for output
    perf script: Move printing of 'common' data from print_event and rename
    perf tracing: Remove print_graph_cpu and print_graph_proc from trace-event-parse
    perf script: Change process_event prototype
    ...

    Linus Torvalds
     

17 Mar, 2011

1 commit

  • * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (172 commits)
    USB: Add support for SuperSpeed isoc endpoints
    xhci: Clean up cycle bit math used during stalls.
    xhci: Fix cycle bit calculation during stall handling.
    xhci: Update internal dequeue pointers after stalls.
    USB: Disable auto-suspend for USB 3.0 hubs.
    USB: Remove bogus USB_PORT_STAT_SUPER_SPEED symbol.
    xhci: Return canceled URBs immediately when host is halted.
    xhci: Fixes for suspend/resume of shared HCDs.
    xhci: Fix re-init on power loss after resume.
    xhci: Make roothub functions deal with device removal.
    xhci: Limit roothub ports to 15 USB3 & 31 USB2 ports.
    xhci: Return a USB 3.0 hub descriptor for USB3 roothub.
    xhci: Register second xHCI roothub.
    xhci: Change xhci_find_slot_id_by_port() API.
    xhci: Refactor bus suspend state into a struct.
    xhci: Index with a port array instead of PORTSC addresses.
    USB: Set usb_hcd->state and flags for shared roothubs.
    usb: Make core allocate resources per PCI-device.
    usb: Store bus type in usb_hcd, not in driver flags.
    usb: Change usb_hcd->bandwidth_mutex to a pointer.
    ...

    Linus Torvalds
     

16 Mar, 2011

5 commits

  • If lock was uncontended, wait_time_min == ULLONG_MAX, so we need to
    handle this case differently to show high wait times first

    Acked-by: Hitoshi Mitake
    Cc: Hitoshi Mitake
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Marcin Slusarz
    Signed-off-by: Arnaldo Carvalho de Melo

    Marcin Slusarz
     
  • Some versions of grep don't treat '\s' properly. When building perf on such
    systems and using a kernel tarball the perf version is unable to be determined
    from the main kernel Makefile and the user is left with a version of '..'.
    Replacing the use of '\s' with '[[:space:]]', which should work in all grep
    versions, gives a usable version number.

    Reported-by: Tapan Dhimant
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Tapan Dhimant
    Cc: linux-kernel@vger.kernel.org
    Cc: stable@kernel.org
    LKML-Reference:
    Signed-off-by: Josh Hunt
    Signed-off-by: Arnaldo Carvalho de Melo

    Josh Hunt
     
  • …inux-2.6 into perf/urgent

    Ingo Molnar
     
  • …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: (184 commits)
    perf probe: Clean up probe_point_lazy_walker() return value
    tracing: Fix irqoff selftest expanding max buffer
    tracing: Align 4 byte ints together in struct tracer
    tracing: Export trace_set_clr_event()
    tracing: Explain about unstable clock on resume with ring buffer warning
    ftrace/graph: Trace function entry before updating index
    ftrace: Add .ref.text as one of the safe areas to trace
    tracing: Adjust conditional expression latency formatting.
    tracing: Fix event alignment: skb:kfree_skb
    tracing: Fix event alignment: mce:mce_record
    tracing: Fix event alignment: kvm:kvm_hv_hypercall
    tracing: Fix event alignment: module:module_request
    tracing: Fix event alignment: ftrace:context_switch and ftrace:wakeup
    tracing: Remove lock_depth from event entry
    perf header: Stop using 'self'
    perf session: Use evlist/evsel for managing perf.data attributes
    perf top: Don't let events to eat up whole header line
    perf top: Fix events overflow in top command
    ring-buffer: Remove unused #include <linux/trace_irq.h>
    tracing: Add an 'overwrite' trace_option.
    ...

    Linus Torvalds
     
  • Newer compilers (gcc 4.6) complains about:

    return ret < 0 ?: 0;

    For the following reason:

    util/probe-finder.c: In function ‘probe_point_lazy_walker’:
    util/probe-finder.c:1331:18: error: the omitted middle operand in ?: will always be ‘true’, suggest explicit middle operand [-Werror=parentheses]

    And indeed the return value is a somewhat obscure (but correct) value
    of 'true', so return 'ret' instead - this is cleaner and unconfuses
    GCC as well.

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

    Ingo Molnar
     

15 Mar, 2011

8 commits

  • [root@emilia ~]# perf record -a -e sched:* -e timer:timer* sleep 5
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.172 MB perf.data (~7530 samples) ]
    [root@emilia ~]# perf evlist
    sched:sched_kthread_stop
    sched:sched_kthread_stop_ret
    sched:sched_wakeup
    sched:sched_wakeup_new
    sched:sched_switch
    sched:sched_migrate_task
    sched:sched_process_free
    sched:sched_process_exit
    sched:sched_wait_task
    sched:sched_process_wait
    sched:sched_process_fork
    sched:sched_stat_wait
    sched:sched_stat_sleep
    sched:sched_stat_iowait
    sched:sched_stat_runtime
    sched:sched_pi_setprio
    timer:timer_init
    timer:timer_start
    timer:timer_expire_entry
    timer:timer_expire_exit
    timer:timer_cancel
    [root@emilia ~]#

    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Custom fields set for each type by prepending field argument with type.
    For file with multiple event types (e.g., trace and S/W) display of an
    event type suppressed by setting output fields to "".

    e.g.,
    perf record -ga -e sched:sched_switch -e cpu-clock -c 10000000 -R -- sleep 1
    perf script

    openssl 11496 [000] 9711.807107: cpu-clock-msecs:
    ffffffff810c22dc arch_local_irq_restore ([kernel.kallsyms])
    ffffffff810c518c __alloc_pages_nodemask ([kernel.kallsyms])
    ffffffff810297b2 pte_alloc_one ([kernel.kallsyms])
    ffffffff810d8b98 __pte_alloc ([kernel.kallsyms])
    ffffffff810daf07 handle_mm_fault ([kernel.kallsyms])
    ffffffff8138763a do_page_fault ([kernel.kallsyms])
    ffffffff81384a65 page_fault ([kernel.kallsyms])
    7f6130507d70 asn1_check_tlen (/lib64/libcrypto.so.1.0.0c)
    0 ()

    openssl 11496 [000] 9711.808042: sched_switch: prev_comm=openssl ...
    kworker/0:0 4 [000] 9711.808067: sched_switch: prev_comm=kworker/...
    swapper 0 [001] 9711.808090: sched_switch: prev_comm=kworker/...
    sshd 11451 [001] 9711.808185: sched_switch: prev_comm=sshd pre...
    swapper 0 [001] 9711.816155: cpu-clock-msecs:
    ffffffff81023609 native_safe_halt ([kernel.kallsyms])
    ffffffff8100132a cpu_idle ([kernel.kallsyms])
    ffffffff8137cf9b start_secondary ([kernel.kallsyms])

    openssl 11496 [000] 9711.817104: cpu-clock-msecs:
    7f61304ad723 AES_cbc_encrypt (/lib64/libcrypto.so.1.0.0c)
    7fff3402f950 ()
    12f0debc9a785634 ()

    swapper 0 [001] 9711.826155: cpu-clock-msecs:
    ffffffff81023609 native_safe_halt ([kernel.kallsyms])
    ffffffff8100132a cpu_idle ([kernel.kallsyms])
    ffffffff8137cf9b start_secondary ([kernel.kallsyms])

    To suppress trace events within the file and use default output for S/W events:
    perf script -f trace:

    or to suppress S/W events and do default display for trace events:
    perf script -f sw:

    Custom field selections:
    perf script -f sw:comm,tid,time -f trace:time,trace

    openssl 11496 9711.797162:
    swapper 0 9711.807071:
    openssl 11496 9711.807107:
    9711.808042: prev_comm=openssl prev_pid=11496 prev_prio=120 prev_state=R ...
    9711.808067: prev_comm=kworker/0:0 prev_pid=4 prev_prio=120 prev_state=S ...
    9711.808090: prev_comm=kworker/0:0 prev_pid=0 prev_prio=120 prev_state=R ...
    9711.808185: prev_comm=sshd prev_pid=11451 prev_prio=120 prev_state=S ==>...
    swapper 0 9711.816155:
    openssl 11496 9711.817104:
    swapper 0 9711.826155:

    Acked-by: Frederic Weisbecker
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    LKML-Reference:
    Signed-off-by: David Ahern
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     
  • Add option to dump symbols found in events.

    e.g., perf script -f comm,pid,tid,time,trace,sym

    swapper 0/0 537.037184: prev_comm=swapper prev_pid=0 prev_prio=120...
    ffffffff81030350 perf_trace_sched_switch ([kernel.kallsyms])
    ffffffff81382ac5 schedule ([kernel.kallsyms])
    ffffffff8100134a cpu_idle ([kernel.kallsyms])
    ffffffff81370b39 rest_init ([kernel.kallsyms])
    ffffffff81696c23 start_kernel ([kernel.kallsyms].init.text)
    ffffffff816962af x86_64_start_reservations ([kernel.kallsyms].init.text)
    ffffffff816963b9 x86_64_start_kernel ([kernel.kallsyms].init.text)

    sshd 1675/1675 537.037309: prev_comm=sshd prev_pid=1675 prev_prio=120...
    ffffffff81030350 perf_trace_sched_switch ([kernel.kallsyms])
    ffffffff81382ac5 schedule ([kernel.kallsyms])
    ffffffff813837aa schedule_hrtimeout_range_clock ([kernel.kallsyms])
    ffffffff81383886 schedule_hrtimeout_range ([kernel.kallsyms])
    ffffffff8110c4f9 poll_schedule_timeout ([kernel.kallsyms])
    ffffffff8110cd20 do_select ([kernel.kallsyms])
    ffffffff8110ced8 core_sys_select ([kernel.kallsyms])
    ffffffff8110d00d sys_select ([kernel.kallsyms])
    ffffffff81002bc2 system_call ([kernel.kallsyms])
    7f1647e56e93 __GI_select (/lib64/libc-2.12.90.so)

    netstat 1692/1692 537.038664: prev_comm=netstat prev_pid=1692 prev_prio=...
    ffffffff81030350 perf_trace_sched_switch ([kernel.kallsyms])
    ffffffff81382ac5 schedule ([kernel.kallsyms])
    ffffffff81002c3a sysret_careful ([kernel.kallsyms])
    7f7a6cd1b210 __GI___libc_read (/lib64/libc-2.12.90.so)

    Acked-by: Frederic Weisbecker
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    LKML-Reference:
    Signed-off-by: David Ahern
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     
  • Allow a user to select which fields to print to stdout for event data.
    Options include comm (command name), tid (thread id), pid (process id),
    time (perf timestamp), cpu, event (for event name), and trace (for
    trace data).

    Default is set to maintain compatibility with current output; this
    feature does alter output format slightly -- no '-' between command
    and pid/tid.

    Thanks to Frederic Weisbecker for detailed suggestions on this approach.

    Examples (output compressed)

    1. trace, default format

    perf record -ga -e sched:sched_switch
    perf script

    swapper 0 [000] 537.037184: sched_switch: prev_comm=swapper prev_pid=0...
    sshd 1675 [000] 537.037309: sched_switch: prev_comm=sshd prev_pid=1675...
    netstat 1692 [001] 537.038664: sched_switch: prev_comm=netstat prev_pid=1692...

    2. trace, custom format

    perf record -ga -e sched:sched_switch
    perf script -f comm,pid,time,trace
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    LKML-Reference:
    Signed-off-by: David Ahern
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     
  • This change does impact output: latency data is trace specific and is
    now printed after the common data - comm, tid, cpu, time and event name.

    Acked-by: Frederic Weisbecker
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    LKML-Reference:
    Signed-off-by: David Ahern
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     
  • Next patch moves printing of 'common' data into perf-script which
    removes the need for these functions.

    Acked-by: Frederic Weisbecker
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    LKML-Reference:
    Signed-off-by: David Ahern
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     
  • Prepare for handling of samples for any event type.

    Acked-by: Frederic Weisbecker
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    LKML-Reference:
    Signed-off-by: David Ahern
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     
  • Now the --filter option is usable with perf stat too.

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

    Frederic Weisbecker
     

12 Mar, 2011

4 commits

  • While going thru each of the sym_entry fields looking to reduce it to
    the set of entries needed when in an active symbols list, 'skip' should
    really be in symbol, as we set it when loading the symtab.

    And the space used by the basic symbol allocation remains the same as
    we had 5 bytes of padding.

    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • And the DSO__ORIG_ enum to SYMTAB__, to clarify that this is about from
    where the symtab was obtained.

    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • We can get it from syme->map->dso->kernel (that should be renamed to
    origin, but leave this for another patch).

    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • We can get that counter index from perf_top->sym_evsel->idx instead.

    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

10 Mar, 2011

5 commits

  • Stop using this python/OOP convention, doesn't really helps. Will do
    more from time to time till we get it cleaned up in all of tools/perf.

    Suggested-by: Thomas Gleixner
    LKML-Reference:
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Cc: Tom Zanussi
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • So that we can reuse things like the id to attr lookup routine
    (perf_evlist__id2evsel) that uses a hash table instead of the linear
    lookup done in the older perf_header_attr routines, etc.

    Also to make evsels/evlist more pervasive an API, simplyfing using the
    emerging perf lib.

    cc: Arun Sharma
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Passing multiple events might force out information about pid/tid/cpu.
    Attached patch leaves 30 characters for this info at the expense of the
    events' names.

    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Han Pingtian
    LKML-Reference:
    Signed-off-by: Jiri Olsa
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • The snprintf function returns number of printed characters even if it
    cross the size parameter. So passing enough events via '-e' parameter
    will cause segmentation fault.

    It's reproduced by following command:

    perf top -e `perf list | grep Tracepoint | awk -F'[' '\
    {gsub(/[[:space:]]+/,"",$1);array[FNR]=$1}END{outputs=array[1];\
    for (i=2;i
    Cc: Han Pingtian
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Jiri Olsa
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • kallsyms has a virtual file name [kernel.kallsyms]. Currently, it can't
    be added to buildid cache successfully because the code
    (build_id_cache__add_s) tries to resolve [kernel.kallsyms] to a real
    absolute pathname and that fails.

    Fixes it by not resolving it and just use the name [kernel.kallsyms].
    So dir ~/.debug/[kernel.kallsyms] is created.

    Original bug report at:
    https://lkml.org/lkml/2011/3/1/524

    Tested-by: Han Pingtian
    Cc: Han Pingtian
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Lin Ming
    Signed-off-by: Arnaldo Carvalho de Melo

    Lin Ming
     

08 Mar, 2011

9 commits

  • Currently, if a test causes constant output but never reaches a
    boot prompt, or crashes, the test will never stop. Add STOP_TEST_AFTER
    to create a variable that will stop (and fail) the test after it has run
    for this amount of time. The default is 10 minutes. Setting this
    variable to -1 will disable it.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Record the console of tests to both the console and the log.
    Also, record the bug reports afte the test has completed.
    Currently, if a kernel bug happens while running the userland
    test, the test stops and will not record the kernel bug. This
    makes it difficult to solve what happened.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • The config STOP_AFTER_FAILURE is the number of seconds to continue
    the test when a failure is detected. This lets the monitor record
    more data to the logs and console that may be helpful in solving
    the bug that was found.

    But the test had a bug. If the failure caused multiple
    "Call Trace" stack dumps, the start time to compare the
    STOP_AFTER_FAILURE would constantly be reset. Only update the start
    time at the first "Call Trace" instance.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Add the config option BISECT_FILES that allows the user to
    specify what path in the kernel to run the git bisect on.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • If a during a git bisect, ktest fails on something other than
    what it is testing (if BISECT_TYPE is test but it fails on build),
    if BISECT_SKIP is set, then it will do a "git bisect skip" instead
    of just failing the bisect and letting the user find a good commit
    to test.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • For both git bisect and config bisect, if BISECT_MANUAL is set to 1,
    then bisect will stop between iterations and ask the user for the
    result. The actual result is ignored. This makes it possible to
    use ktest.pl for bisecting configs and git and let the user examine
    the results themselves and enter their own results.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • When bisecting, one may come across a kernel that does not have
    make oldnoconfig. In this case, we need to run the command "yes"
    into a make oldconfig. This will select defaults instead of 'n'
    into each command, but it works as a work around.

    Note, "yes n" will not work because a config may have a value that
    "n" is not acceptable for.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Currently we just look for a Call Trace to start the time out
    when to reboot the box. But if the kernel panics and does not
    show a Call Trace, the test will not reboot the box after
    the specified timeout.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • If the test fails and a logfile was specified. Print the name to
    let the user know where to look for more information on the
    failure.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

07 Mar, 2011

1 commit

  • When multiple events were used in 'perf record', allow the user to
    choose which one is wanted before showing the per event histograms.

    Annotations will be performed on the chosen event.

    Allow going back and forth from event to event quickly using just the
    arrow keys and enter.

    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    Cc: William Cohen
    LKML-Reference:
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo