27 Jul, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest:
    ktest: Fix bug when ADD_CONFIG is set but MIN_CONFIG is not
    ktest: Keep fonud configs separate from default configs
    ktest: Add prompt to use OUTPUT_MIN_CONFIG
    ktest: Use Kconfig dependencies to shorten time to make min_config
    ktest: Add test type make_min_config
    ktest: Require one TEST_START in config file
    ktest: Add helper function to avoid duplicate code
    ktest: Add IGNORE_WARNINGS to ignore warnings in some patches
    ktest: Fix tar extracting of modules to target
    ktest: Have the testing tmp dir include machine name
    ktest: Add POST/PRE_BUILD options
    ktest: Allow initrd processing without modules defined
    ktest: Have LOG_FILE evaluate options as well
    ktest: Have wait on stdio honor bug timeout
    ktest: Implement our own force min config
    ktest: Add TEST_NAME option
    ktest: Add CONFIG_BISECT_GOOD option
    ktest: Add detection of triple faults
    ktest: Notify reason to break out of monitoring boot

    Linus Torvalds
     

24 Jul, 2011

1 commit

  • …us' and 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    um: Make rwsem.S depend on CONFIG_RWSEM_XCHGADD_ALGORITHM

    * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    debug: Make CONFIG_EXPERT select CONFIG_DEBUG_KERNEL to unhide debug options

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    genirq: Remove unused CHECK_IRQ_PER_CPU()

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf tools, x86: Fix 32-bit compile on 64-bit system

    Linus Torvalds
     

21 Jul, 2011

7 commits

  • Builds for 32-bit perf binaries on a 64-bit host currently fail
    with this error:

    [...]
    bench/../../../arch/x86/lib/memcpy_64.S: Assembler messages:
    bench/../../../arch/x86/lib/memcpy_64.S:29: Error: bad register name `%rdi'
    bench/../../../arch/x86/lib/memcpy_64.S:34: Error: invalid instruction suffix for `movs'
    bench/../../../arch/x86/lib/memcpy_64.S:50: Error: bad register name `%rdi'
    bench/../../../arch/x86/lib/memcpy_64.S:61: Error: bad register name `%rdi'
    ...

    The problem is the detection of the host arch without considering passed in
    flags. This change fixes 32-bit builds via:

    make EXTRA_CFLAGS=-m32

    and 64-bit builds still reference the memcpy_64.S.

    Signed-off-by: David Ahern
    Acked-by: Frederic Weisbecker
    Signed-off-by: Peter Zijlstra
    Cc:
    Link: http://lkml.kernel.org/r/1310420304-21452-1-git-send-email-dsahern@gmail.com
    Signed-off-by: Ingo Molnar

    David Ahern
     
  • Use preset debugfs path instead of hardcoded one.

    Signed-off-by: Jiri Olsa
    Cc: acme@redhat.com
    Cc: a.p.zijlstra@chello.nl
    Cc: paulus@samba.org
    Link: http://lkml.kernel.org/r/1310635534-4013-4-git-send-email-jolsa@redhat.com
    Signed-off-by: Ingo Molnar

    Jiri Olsa
     
  • Adding builtin test for parse_events function, which is
    responsible for parsing/processing "-e" option for
    stat/top/record commands.

    This new test will run within the builtin test command suite
    (perf test).

    One or several tests were added for each type of event.
    More tests could be added easily if needed.

    Signed-off-by: Jiri Olsa
    Cc: acme@redhat.com
    Cc: a.p.zijlstra@chello.nl
    Cc: paulus@samba.org
    Link: http://lkml.kernel.org/r/1310635534-4013-3-git-send-email-jolsa@redhat.com
    Signed-off-by: Ingo Molnar

    Jiri Olsa
     
  • Moving out the option parameter from parse_events function,
    and adding new parse_events_option function instead.

    The option parameter is used only to carry "struct perf_evlist"
    pointer for chaining new events. Putting it away, enable us
    to call parse_events from other places without using the
    option parameter.

    Signed-off-by: Jiri Olsa
    Cc: acme@redhat.com
    Cc: a.p.zijlstra@chello.nl
    Cc: paulus@samba.org
    Link: http://lkml.kernel.org/r/1310635534-4013-2-git-send-email-jolsa@redhat.com
    Signed-off-by: Ingo Molnar

    Jiri Olsa
     
  • Non-callchain path is using al.addr which prints as:
    openssl 14564 17672.003587: 7862d _x86_64_AES_encrypt_compact

    This should be sample->ip to print as:
    openssl 14564 17672.003587: 3f7867862d _x86_64_AES_encrypt_compact

    Signed-off-by: David Ahern
    Acked-by: Frederic Weisbecker
    Cc: acme@ghostprotocols.net
    Cc: peterz@infradead.org
    Cc: paulus@samba.org
    Link: http://lkml.kernel.org/r/1306768587-15376-1-git-send-email-dsahern@gmail.com
    Signed-off-by: Ingo Molnar

    David Ahern
     
  • The perf_event_attr struct has two __u32's at the top and
    they need to be swapped individually.

    With this change I was able to analyze a perf.data collected in a
    32-bit PPC VM on an x86 system. I tested both 32-bit and 64-bit
    binaries for the Intel analysis side; both read the PPC perf.data
    file correctly.

    -v2:
    - changed the existing perf_event__attr_swap() to swap only elements
    of perf_event_attr and exported it for use in swapping the
    attributes in the file header
    - updated swap_ops used for processing events

    Signed-off-by: David Ahern
    Acked-by: Frederic Weisbecker
    Cc: acme@ghostprotocols.net
    Cc: peterz@infradead.org
    Cc: paulus@samba.org
    Cc:
    Link: http://lkml.kernel.org/r/1310754849-12474-1-git-send-email-dsahern@gmail.com
    Signed-off-by: Ingo Molnar

    David Ahern
     
  • Add "node" as a simple alias for NODE cache events.

    The addition of NODE cache events broke the parse_alias
    function, so any mismatched event caused the segfault, like:

    # ./perf stat -e krava ls

    The hw_cache/hw_cache_op/hw_cache_result arrays needs to follow
    PERF_COUNT_HW_CACHE_*MAX enums. Adding those MAXs to be size
    of those arrays, so possible ommision in future wil not lead to
    segfault.

    Adding read/write/prefetch as allowed operations for node cache
    event.

    Signed-off-by: Jiri Olsa
    Acked-by: Peter Zijlstra
    Cc: acme@redhat.com
    Link: http://lkml.kernel.org/r/20110713205818.GB7827@jolsa.brq.redhat.com
    Signed-off-by: Ingo Molnar

    Jiri Olsa
     

16 Jul, 2011

12 commits

  • The MIN_CONFIG is a single config that is considered to have all the
    configs that are required to boot the box.

    ADD_CONFIG is a list of configs that we add that may contain configs
    known to be broken (set off) or just configs that we want every box to
    have and this can include shared configs.

    If a config has no MIN_CONFIG defined, but has multiple files defined
    for the ADD_CONFIG, the test will die, because the MIN_CONFIG will
    default to ADD_CONFIG. The problem is the code to open MIN_CONFIG
    expects a string of one file, not multiple, and the open will fail.

    Since the real minconfig that is used is a concatination of MIN_CONFIG
    and ADD_CONFIG files, we change the code to open that instead of
    whatever MIN_CONFIG defaults to.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • The IGNORE_CONFIG file holds the configs that we don't want to change
    (with their proper settings). But on start up, the make noconfig is
    executed, and the configs that are on are also put into the ignore
    config category. But these are configs that were forced on by the
    kconfig scripts and not something that we found must be enabled to boot
    our machine. By keeping the configs that are forced on by default,
    separate from the configs we found that are required to boot the box, we
    can get a much more interesting IGNORE_CONFIG. In fact, the
    IGNORE_CONFIG can usually end up being the must have configs to boot,
    and only have 6 or 7 configs set.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • If the defined OUTPUT_MIN_CONFIG in the make_min_config test exists,
    then give a prompt to ask the user if they want to use that config
    instead, as it is very often the case, especially when the test has been
    interrupted. The OUTPUT_MIN_CONFIG is usually the config that one wants
    to use to continue the test where they left off.

    But if START_MIN_CONFIG is defined (thus the MIN_CONFIG is not the
    default), then do not prompt, as it will be annoying if the user has
    this as one of many tests, and the test pauses waiting for input, while
    the user is sleeping.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • To save time, the test does not just grab any option and test
    it. The Kconfig files are examined to determine the dependencies
    of the configs. If a config is chosen that depends on another
    config, that config will be checked first. By checking the
    parents first, we can eliminate whole groups of configs that
    may have been enabled.

    For example, if a USB device config is chosen and depends on
    CONFIG_USB, the CONFIG_USB will be tested before the device.
    If CONFIG_USB is found not to be needed, it, as well as all
    configs that depend on it, will be disabled and removed from
    the current min_config.

    Note, the code from streamline_config (make localmodconfig)
    was copied and used to find the dependencies in the Kconfig file.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • After doing a make localyesconfig, your kernel configuration may
    not be the most useful minimum configuration. Having a true minimum
    config that you can use against other configs is very useful if
    someone else has a config that breaks on your code. By only forcing
    those configurations that are truly required to boot your machine
    will give you less of a chance that one of your set configurations
    will make the bug go away. This will give you a better chance to
    be able to reproduce the reported bug matching the broken config.

    Note, this does take some time, and may require you to run the
    test over night, or perhaps over the weekend. But it also allows
    you to interrupt it, and gives you the current minimum config
    that was found till that time.

    Note, this test automatically assumes a BUILD_TYPE of oldconfig
    and its test type acts like boot.

    TODO: add a test version that makes the config do more than just
    boot, like having network access.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Support adding probes on offline kernel modules. This enables
    perf-probe to trace kernel-module init functions via perf-probe.
    If user gives the path of module with -m option, perf-probe
    expects the module is offline.
    This feature works with --add, --funcs, and --vars.

    E.g)
    # perf probe -m /lib/modules/`uname -r`/kernel/fs/btrfs/btrfs.ko \
    -a "extent_io_init:5 extent_state_cache"
    Add new events:
    probe:extent_io_init (on extent_io_init:5 with extent_state_cache)
    probe:extent_io_init_1 (on extent_io_init:5 with extent_state_cache)

    You can now use it on all perf tools, such as:

    perf record -e probe:extent_io_init_1 -aR sleep 1

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072751.6528.10230.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Add probed module name and ":" in front of function name
    if -m module option is given. In the result, the symbol
    name passed to kprobe-tracer becomes MODULE:FUNCTION,
    so that kallsyms can solve it as a symbol in the module
    correctly.

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072745.6528.26416.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Introduce debuginfo to encapsulate dwarf information.
    This new object allows us to reuse and expand debuginfo easily.

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072739.6528.12438.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Move dwarf library related routines to dwarf-aux.{c,h}.
    This includes several minor changes.
    - Add simple documents for each API.
    - Rename die_find_real_subprogram() to die_find_realfunc()
    - Rename line_walk_handler_t to line_walk_callback_t.
    - Minor cleanups.

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072727.6528.57647.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Since there are dwarf_bitsize, dwarf_bitoffset and dwarf_bytesize
    defined in libdw, we don't need die_get_bit_size, die_get_bit_offset
    and die_get_byte_size anymore.

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072721.6528.2747.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Since strtailcmp() is enough generic, it should be defined in string.c.

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072715.6528.10677.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Since die_find/walk* callbacks use DIE_FIND_CB_FOUND for
    both of failed and found cases, it should be "END"
    instead "FOUND" for avoiding confusion.

    Signed-off-by: Masami Hiramatsu
    Reported-by: Arnaldo Carvalho de Melo
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Link: http://lkml.kernel.org/r/20110627072709.6528.45706.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     

15 Jul, 2011

1 commit

  • While attempting to create a timechart of boot up I found perf didn't
    tolerate modules being loaded/unloaded. This patch fixes this by
    reading the file once and then writing the size read at the correct
    point in the file. It also simplifies the code somewhat.

    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Sonny Rao
    Signed-off-by: Michael Neuling
    Link: http://lkml.kernel.org/r/10011.1310614483@neuling.org
    Signed-off-by: Steven Rostedt

    Sonny Rao
     

05 Jul, 2011

1 commit

  • Add an option to perf report/annotate/script to specify which
    CPUs to operate on. This enables us to take a single system wide
    profile and analyse each CPU (or group of CPUs) in isolation.

    This was useful when profiling a multiprocess workload where the
    bottleneck was on one CPU but this was hidden in the overall
    profile. Per process and per thread breakdowns didn't help
    because multiple processes were running on each CPU and no
    single process consumed an entire CPU.

    The patch converts the list of CPUs returned by cpu_map__new
    into a bitmap for fast lookup. I wanted to use -C to be
    consistent with perf top/record/stat, but unfortunately perf
    report already uses -C .

    v2: Incorporate suggestions from David Ahern:
    - Added -c to perf script
    - Check that SAMPLE_CPU is set when -c is used
    - Update documentation

    v3: Create perf_session__cpu_bitmap()

    Signed-off-by: Anton Blanchard
    Acked-by: David Ahern
    Cc: Arnaldo Carvalho de Melo
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Link: http://lkml.kernel.org/r/20110704215750.11647eb9@kryten
    Signed-off-by: Ingo Molnar

    Anton Blanchard
     

01 Jul, 2011

3 commits


30 Jun, 2011

6 commits

  • We don't need to display the parent field if the parent
    sorting machinery is only used for parent filtering
    (as in "-p foo").

    However if parent filtering is used in combination with
    explicit parent sorting ( -s parent), we want to
    display it.

    Result with:

    perf report -p kernel_thread -s parent

    Before:

    # Overhead Parent symbol
    # ........ .............
    #
    0.07%
    |
    --- ioread8
    ata_sff_check_status
    ata_sff_tf_load
    ata_sff_qc_issue
    ata_bmdma_qc_issue
    ata_qc_issue
    ata_scsi_translate
    ata_scsi_queuecmd
    scsi_dispatch_cmd
    scsi_request_fn
    __blk_run_queue
    __make_request
    generic_make_request
    submit_bio
    submit_bh
    journal_submit_commit_record
    jbd2_journal_commit_transaction
    kjournald2
    kthread
    kernel_thread_helpe

    After:

    # Overhead Parent symbol
    # ........ .............
    #
    0.07% kernel_thread_helper
    |
    --- ioread8
    ata_sff_check_status
    ata_sff_tf_load
    ata_sff_qc_issue
    ata_bmdma_qc_issue
    ata_qc_issue
    ata_scsi_translate
    ata_scsi_queuecmd
    scsi_dispatch_cmd
    scsi_request_fn
    __blk_run_queue
    __make_request
    generic_make_request
    submit_bio
    submit_bh
    journal_submit_commit_record
    jbd2_journal_commit_transaction
    kjournald2
    kthread
    kernel_thread_helper

    Signed-off-by: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Stephane Eranian
    Cc: David Ahern
    Cc: Sam Liao

    Frederic Weisbecker
     
  • So that the parent sort dimension can be registered twice: once
    if we add it as an explicit sort dimension (-s parent) and twice
    if we request a parent filter (-p foo).

    We'll have only one parent sort dimension in the end but this
    allows to override the default parent filter with we gave in "-p"
    option. The goal of this is to prepare to allow the use of
    "-s parent" and "-p foo" at the same time, ie: sort by filtered
    parent.

    Signed-off-by: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Stephane Eranian
    Cc: David Ahern
    Cc: Sam Liao

    Frederic Weisbecker
     
  • As for newt ui, don't display entries that have been marked
    as ignored.

    The practical current effect of this is to make parent
    filtering really working. Before, entries that were ignored
    were given a null parent but were still displayed. This
    resulted in some weird effects:

    # Overhead Command Shared Object Symbol
    # ........ ........... ................. ............
    #
    ^A
    |
    --- __lock_acquire
    |
    |--95.97%-- lock_acquire
    | |
    | |--30.75%-- _raw_spin_lock

    Discard these from the stdio display.

    Signed-off-by: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Stephane Eranian
    Cc: David Ahern
    Cc: Sam Liao

    Frederic Weisbecker
     
  • These are probably some old leftovers.

    Signed-off-by: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Stephane Eranian
    Cc: David Ahern
    Cc: Sam Liao

    Frederic Weisbecker
     
  • These don't need to be globally visible.

    Signed-off-by: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Stephane Eranian
    Cc: David Ahern
    Cc: Sam Liao

    Frederic Weisbecker
     
  • Add "caller/callee" option to support inverted butterfly report,
    in the inverted report (with caller option), the call graph start
    from the callee's ancestor. Users can use such view to catch system's
    performance bottleneck from a sysprof like view. Using this option
    with specified sort order like pid gives us high level view of call
    graph statistics.

    Also add "-G" alias for inverted call graph.

    Signed-off-by: Sam Liao
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Stephane Eranian
    Cc: David Ahern
    Signed-off-by: Frederic Weisbecker

    Sam Liao
     

20 Jun, 2011

1 commit

  • …-for-linus' and 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    tools/perf: Fix static build of perf tool
    tracing: Fix regression in printk_formats file

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    generic-ipi: Fix kexec boot crash by initializing call_single_queue before enabling interrupts

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    clocksource: Make watchdog robust vs. interruption
    timerfd: Fix wakeup of processes when timer is cancelled on clock change

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, MAINTAINERS: Add x86 MCE people
    x86, efi: Do not reserve boot services regions within reserved areas

    Linus Torvalds
     

19 Jun, 2011

1 commit


17 Jun, 2011

1 commit


16 Jun, 2011

3 commits

  • Merge reason: add the latest fixes.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • To build a statically linked version of the perf tool all needed
    libraries must be added in the correct order to get the symbols
    resolved. Currently this is broken when, e.g. python or newt
    support is enabled -- libpython needs libpthread which is an
    unconditional link dependency of the perf tool; libslang needs
    libm, another unconditional dependency. To solve the problem in
    the long run without the need to keep track of transitive
    library dependencies, simply make the linker look at the EXTLIBS
    multiple times until it has all symbols resolved.

    Signed-off-by: Mathias Krause
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/1308171818-20370-1-git-send-email-minipli@googlemail.com
    Signed-off-by: Ingo Molnar

    Mathias Krause
     
  • When generating the perf version from the kernel version using 'make
    kernelver' it is necessary to clear out any MAKEFLAGS otherwise they may
    trigger additional output which pollute the contents.

    Signed-off-by: Andy Whitcroft
    Signed-off-by: Michal Marek

    Andy Whitcroft
     

15 Jun, 2011

2 commits

  • There has been too many times that I put in one too many SKIP
    TEST_STARTs and start the test with the default randconfig by accident
    that I added this to have ktest ask the user for which test they want to
    run if no TEST_START is specified.

    Now if I accidently start the test with all TEST_STARTs skipped, ktest
    asks what test do I want to run, and I now have a chance to kill it
    before it does a make mrproper on my build directory.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Several places had the following code:

    get_grub_index;
    get_version;
    install;

    start_monitor;
    return monitor;

    Creating a function "start_monitor_and_boot()" replaces these mulitple
    uses with a single call.

    Signed-off-by: Steven Rostedt

    Steven Rostedt