25 Aug, 2017

1 commit


14 Jul, 2017

1 commit

  • Pull more tracing updates from Steven Rostedt:
    "A few more minor updates:

    - Show the tgid mappings for user space trace tools to use

    - Fix and optimize the comm and tgid cache recording

    - Sanitize derived kprobe names

    - Ftrace selftest updates

    - trace file header fix

    - Update of Documentation/trace/ftrace.txt

    - Compiler warning fixes

    - Fix possible uninitialized variable"

    * tag 'trace-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    ftrace: Fix uninitialized variable in match_records()
    ftrace: Remove an unneeded NULL check
    ftrace: Hide cached module code for !CONFIG_MODULES
    tracing: Do note expose stack_trace_filter without DYNAMIC_FTRACE
    tracing: Update Documentation/trace/ftrace.txt
    tracing: Fixup trace file header alignment
    selftests/ftrace: Add a testcase for kprobe event naming
    selftests/ftrace: Add a test to probe module functions
    selftests/ftrace: Update multiple kprobes test for powerpc
    trace/kprobes: Sanitize derived event names
    tracing: Attempt to record other information even if some fail
    tracing: Treat recording tgid for idle task as a success
    tracing: Treat recording comm for idle task as a success
    tracing: Add saved_tgids file to show cached pid to tgid mappings

    Linus Torvalds
     

12 Jul, 2017

1 commit


04 Jul, 2017

1 commit

  • Pull char/misc updates from Greg KH:
    "Here is the "big" char/misc driver patchset for 4.13-rc1.

    Lots of stuff in here, a large thunderbolt update, w1 driver header
    reorg, the new mux driver subsystem, google firmware driver updates,
    and a raft of other smaller things. Full details in the shortlog.

    All of these have been in linux-next for a while with the only
    reported issue being a merge problem with this tree and the jc-docs
    tree in the w1 documentation area"

    * tag 'char-misc-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (147 commits)
    misc: apds990x: Use sysfs_match_string() helper
    mei: drop unreachable code in mei_start
    mei: validate the message header only in first fragment.
    DocBook: w1: Update W1 file locations and names in DocBook
    mux: adg792a: always require I2C support
    nvmem: rockchip-efuse: add support for rk322x-efuse
    nvmem: core: add locking to nvmem_find_cell
    nvmem: core: Call put_device() in nvmem_unregister()
    nvmem: core: fix leaks on registration errors
    nvmem: correct Broadcom OTP controller driver writes
    w1: Add subsystem kernel public interface
    drivers/fsi: Add module license to core driver
    drivers/fsi: Use asynchronous slave mode
    drivers/fsi: Add hub master support
    drivers/fsi: Add SCOM FSI client device driver
    drivers/fsi/gpio: Add tracepoints for GPIO master
    drivers/fsi: Add GPIO based FSI master
    drivers/fsi: Document FSI master sysfs files in ABI
    drivers/fsi: Add error handling for slave
    drivers/fsi: Add tracepoints for low-level operations
    ...

    Linus Torvalds
     

22 Jun, 2017

1 commit

  • The loadavg naming code still assumes that nohz == idle whereas its code
    is actually handling well both nohz idle and nohz full.

    So lets fix the naming according to what the code actually does, to
    unconfuse the reader.

    Signed-off-by: Frederic Weisbecker
    Acked-by: Rik van Riel
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1497838322-10913-2-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     

09 Jun, 2017

1 commit

  • Add detailed documentation for Coresight CPU debug driver, which
    contains the info for driver implementation, Mike Leach excellent
    summary for "clock and power domain". At the end some examples on how
    to enable the debugging functionality are provided.

    Suggested-by: Mike Leach
    Signed-off-by: Leo Yan
    Signed-off-by: Mathieu Poirier
    Signed-off-by: Greg Kroah-Hartman

    Leo Yan
     

04 May, 2017

1 commit

  • Pull tracing updates from Steven Rostedt:
    "New features for this release:

    - Pretty much a full rewrite of the processing of function plugins.
    i.e. echo do_IRQ:stacktrace > set_ftrace_filter

    - The rewrite was needed to add plugins to be unique to tracing
    instances. i.e. mkdir instance/foo; cd instances/foo; echo
    do_IRQ:stacktrace > set_ftrace_filter The old way was written very
    hacky. This removes a lot of those hacks.

    - New "function-fork" tracing option. When set, pids in the
    set_ftrace_pid will have their children added when the processes
    with their pids listed in the set_ftrace_pid file forks.

    - Exposure of "maxactive" for kretprobe in kprobe_events

    - Allow for builtin init functions to be traced by the function
    tracer (via the kernel command line). Module init function tracing
    will come in the next release.

    - Added more selftests, and have selftests also test in an instance"

    * tag 'trace-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (60 commits)
    ring-buffer: Return reader page back into existing ring buffer
    selftests: ftrace: Allow some event trigger tests to run in an instance
    selftests: ftrace: Have some basic tests run in a tracing instance too
    selftests: ftrace: Have event tests also run in an tracing instance
    selftests: ftrace: Make func_event_triggers and func_traceonoff_triggers tests do instances
    selftests: ftrace: Allow some tests to be run in a tracing instance
    tracing/ftrace: Allow for instances to trigger their own stacktrace probes
    tracing/ftrace: Allow for the traceonoff probe be unique to instances
    tracing/ftrace: Enable snapshot function trigger to work with instances
    tracing/ftrace: Allow instances to have their own function probes
    tracing/ftrace: Add a better way to pass data via the probe functions
    ftrace: Dynamically create the probe ftrace_ops for the trace_array
    tracing: Pass the trace_array into ftrace_probe_ops functions
    tracing: Have the trace_array hold the list of registered func probes
    ftrace: If the hash for a probe fails to update then free what was initialized
    ftrace: Have the function probes call their own function
    ftrace: Have each function probe use its own ftrace_ops
    ftrace: Have unregister_ftrace_function_probe_func() return a value
    ftrace: Add helper function ftrace_hash_move_and_update_ops()
    ftrace: Remove data field from ftrace_func_probe structure
    ...

    Linus Torvalds
     

03 May, 2017

1 commit

  • Pull trivial tree updates from Jiri Kosina.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
    tty: fix comment for __tty_alloc_driver()
    init/main: properly align the multi-line comment
    init/main: Fix double "the" in comment
    Fix dead URLs to ftp.kernel.org
    drivers: Clean up duplicated email address
    treewide: Fix typo in xml/driver-api/basics.xml
    tools/testing/selftests/powerpc: remove redundant CFLAGS in Makefile: "-Wall -O2 -Wall" -> "-O2 -Wall"
    selftests/timers: Spelling s/privledges/privileges/
    HID: picoLCD: Spelling s/REPORT_WRTIE_MEMORY/REPORT_WRITE_MEMORY/
    net: phy: dp83848: Fix Typo
    UBI: Fix typos
    Documentation: ftrace.txt: Correct nice value of 120 priority
    net: fec: Fix typo in error msg and comment
    treewide: Fix typos in printk

    Linus Torvalds
     

04 Apr, 2017

1 commit

  • When a kretprobe is installed on a kernel function, there is a maximum
    limit of how many calls in parallel it can catch (aka "maxactive"). A
    kernel module could call register_kretprobe() and initialize maxactive
    (see example in samples/kprobes/kretprobe_example.c).

    But that is not exposed to userspace and it is currently not possible to
    choose maxactive when writing to /sys/kernel/debug/tracing/kprobe_events

    The default maxactive can be as low as 1 on single-core with a
    non-preemptive kernel. This is too low and we need to increase it not
    only for recursive functions, but for functions that sleep or resched.

    This patch updates the format of the command that can be written to
    kprobe_events so that maxactive can be optionally specified.

    I need this for a bpf program attached to the kretprobe of
    inet_csk_accept, which can sleep for a long time.

    This patch includes a basic selftest:

    > # ./ftracetest -v test.d/kprobe/
    > === Ftrace unit tests ===
    > [1] Kprobe dynamic event - adding and removing [PASS]
    > [2] Kprobe dynamic event - busy event check [PASS]
    > [3] Kprobe dynamic event with arguments [PASS]
    > [4] Kprobes event arguments with types [PASS]
    > [5] Kprobe dynamic event with function tracer [PASS]
    > [6] Kretprobe dynamic event with arguments [PASS]
    > [7] Kretprobe dynamic event with maxactive [PASS]
    >
    > # of passed: 7
    > # of failed: 0
    > # of unresolved: 0
    > # of untested: 0
    > # of unsupported: 0
    > # of xfailed: 0
    > # of undefined(test bug): 0

    BugLink: https://github.com/iovisor/bcc/issues/1072
    Link: http://lkml.kernel.org/r/1491215782-15490-1-git-send-email-alban@kinvolk.io

    Acked-by: Masami Hiramatsu
    Signed-off-by: Alban Crequy
    Signed-off-by: Steven Rostedt (VMware)

    Alban Crequy
     

24 Mar, 2017

1 commit


15 Mar, 2017

1 commit

  • Update kprobe tracer documentation to also mention that
    NOKPROBE_SYMBOL() and nokprobe_inline add symbols to the kprobes
    blacklist.

    Signed-off-by: Naveen N. Rao
    Acked-by: Masami Hiramatsu
    Cc: Ananth N Mavinakayanahalli
    Link: http://lkml.kernel.org/r/d924e20de099579ace4286e610304f054cd798db.1488991670.git.naveen.n.rao@linux.vnet.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Naveen N. Rao
     

01 Mar, 2017

1 commit

  • We have uses of CONFIG_UPROBE_EVENT and CONFIG_KPROBE_EVENT as
    well as CONFIG_UPROBE_EVENTS and CONFIG_KPROBE_EVENTS.

    Consistently use the plurals.

    Signed-off-by: Anton Blanchard
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: acme@kernel.org
    Cc: alexander.shishkin@linux.intel.com
    Cc: davem@davemloft.net
    Cc: sparclinux@vger.kernel.org
    Link: http://lkml.kernel.org/r/20170216060050.20866-1-anton@ozlabs.org
    Signed-off-by: Ingo Molnar

    Anton Blanchard
     

23 Feb, 2017

1 commit

  • Both mm_vmscan_lru_shrink_active and mm_vmscan_lru_isolate have changed
    so the script needs to be update to reflect those changes

    Link: http://lkml.kernel.org/r/20170105151737.GU21618@dhcp22.suse.cz
    Signed-off-by: Michal Hocko
    Acked-by: Hillf Danton
    Acked-by: Mel Gorman
    Acked-by: Vlastimil Babka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     

16 Dec, 2016

1 commit

  • Pull tracing updates from Steven Rostedt:
    "This release has a few updates:

    - STM can hook into the function tracer
    - Function filtering now supports more advance glob matching
    - Ftrace selftests updates and added tests
    - Softirq tag in traces now show only softirqs
    - ARM nop added to non traced locations at compile time
    - New trace_marker_raw file that allows for binary input
    - Optimizations to the ring buffer
    - Removal of kmap in trace_marker
    - Wakeup and irqsoff tracers now adhere to the set_graph_notrace file
    - Other various fixes and clean ups"

    * tag 'trace-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (42 commits)
    selftests: ftrace: Shift down default message verbosity
    kprobes/trace: Fix kprobe selftest for newer gcc
    tracing/kprobes: Add a helper method to return number of probe hits
    tracing/rb: Init the CPU mask on allocation
    tracing: Use SOFTIRQ_OFFSET for softirq dectection for more accurate results
    tracing/fgraph: Have wakeup and irqsoff tracers ignore graph functions too
    fgraph: Handle a case where a tracer ignores set_graph_notrace
    tracing: Replace kmap with copy_from_user() in trace_marker writing
    ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it
    tracing: Allow benchmark to be enabled at early_initcall()
    tracing: Have system enable return error if one of the events fail
    tracing: Do not start benchmark on boot up
    tracing: Have the reg function allow to fail
    ring-buffer: Force rb_end_commit() and rb_set_commit_to_write() inline
    ring-buffer: Froce rb_update_write_stamp() to be inlined
    ring-buffer: Force inline of hotpath helper functions
    tracing: Make __buffer_unlock_commit() always_inline
    tracing: Make tracepoint_printk a static_key
    ring-buffer: Always inline rb_event_data()
    ring-buffer: Make rb_reserve_next_event() always inlined
    ...

    Linus Torvalds
     

14 Dec, 2016

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here's the big char/misc driver patches for 4.10-rc1. Lots of tiny
    changes over lots of "minor" driver subsystems, the largest being some
    new FPGA drivers. Other than that, a few other new drivers, but no new
    driver subsystems added for this kernel cycle, a nice change.

    All of these have been in linux-next with no reported issues"

    * tag 'char-misc-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (107 commits)
    uio-hv-generic: store physical addresses instead of virtual
    Tools: hv: kvp: configurable external scripts path
    uio-hv-generic: new userspace i/o driver for VMBus
    vmbus: add support for dynamic device id's
    hv: change clockevents unbind tactics
    hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels()
    hyperv: Fix spelling of HV_UNKOWN
    mei: bus: enable non-blocking RX
    mei: fix the back to back interrupt handling
    mei: synchronize irq before initiating a reset.
    VME: Remove shutdown entry from vme_driver
    auxdisplay: ht16k33: select framebuffer helper modules
    MAINTAINERS: add git url for fpga
    fpga: Clarify how write_init works streaming modes
    fpga zynq: Fix incorrect ISR state on bootup
    fpga zynq: Remove priv->dev
    fpga zynq: Add missing \n to messages
    fpga: Add COMPILE_TEST to all drivers
    uio: pruss: add clk_disable()
    char/pcmcia: add some error checking in scr24x_read()
    ...

    Linus Torvalds
     

13 Dec, 2016

1 commit

  • Pull documentation update from Jonathan Corbet:
    "These are the documentation changes for 4.10.

    It's another busy cycle for the docs tree, as the sphinx conversion
    continues. Highlights include:

    - Further work on PDF output, which remains a bit of a pain but
    should be more solid now.

    - Five more DocBook template files converted to Sphinx. Only 27 to
    go... Lots of plain-text files have also been converted and
    integrated.

    - Images in binary formats have been replaced with more
    source-friendly versions.

    - Various bits of organizational work, including the renaming of
    various files discussed at the kernel summit.

    - New documentation for the device_link mechanism.

    ... and, of course, lots of typo fixes and small updates"

    * tag 'docs-4.10' of git://git.lwn.net/linux: (193 commits)
    dma-buf: Extract dma-buf.rst
    Update Documentation/00-INDEX
    docs: 00-INDEX: document directories/files with no docs
    docs: 00-INDEX: remove non-existing entries
    docs: 00-INDEX: add missing entries for documentation files/dirs
    docs: 00-INDEX: consolidate process/ and admin-guide/ description
    scripts: add a script to check if Documentation/00-INDEX is sane
    Docs: change sh -> awk in REPORTING-BUGS
    Documentation/core-api/device_link: Add initial documentation
    core-api: remove an unexpected unident
    ppc/idle: Add documentation for powersave=off
    Doc: Correct typo, "Introdution" => "Introduction"
    Documentation/atomic_ops.txt: convert to ReST markup
    Documentation/local_ops.txt: convert to ReST markup
    Documentation/assoc_array.txt: convert to ReST markup
    docs-rst: parse-headers.pl: cleanup the documentation
    docs-rst: fix media cleandocs target
    docs-rst: media/Makefile: reorganize the rules
    docs-rst: media: build SVG from graphviz files
    docs-rst: replace bayer.png by a SVG image
    ...

    Linus Torvalds
     

30 Nov, 2016

1 commit

  • Documentation was missing for mono and mono_raw, add them and also for
    the boot clock introduced in this series.

    Signed-off-by: Joel Fernandes
    Signed-off-by: John Stultz
    Reviewed-by: Thomas Gleixner
    Acked-by: Steven Rostedt
    Cc: Prarit Bhargava
    Cc: Richard Cochran
    Link: http://lkml.kernel.org/r/1480372524-15181-8-git-send-email-john.stultz@linaro.org
    Signed-off-by: Thomas Gleixner

    Joel Fernandes
     

18 Nov, 2016

3 commits


16 Nov, 2016

1 commit

  • A new file is created:

    /sys/kernel/debug/tracing/trace_marker_raw

    This allows for appications to create data structures and write the binary
    data directly into it, and then read the trace data out from trace_pipe_raw
    into the same type of data structure. This saves on converting numbers into
    ASCII that would be required by trace_marker.

    Suggested-by: Olof Johansson
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

15 Nov, 2016

1 commit

  • Use glob_match() to support flexible glob wildcards (*,?)
    and character classes ([) for ftrace.
    Since the full glob matching is slower than the current
    partial matching routines(*pat, pat*, *pat*), this leaves
    those routines and just add MATCH_GLOB for complex glob
    expression.

    e.g.
    ----
    [root@localhost tracing]# echo 'sched*group' > set_ftrace_filter
    [root@localhost tracing]# cat set_ftrace_filter
    sched_free_group
    sched_change_group
    sched_create_group
    sched_online_group
    sched_destroy_group
    sched_offline_group
    [root@localhost tracing]# echo '[Ss]y[Ss]_*' > set_ftrace_filter
    [root@localhost tracing]# head set_ftrace_filter
    sys_arch_prctl
    sys_rt_sigreturn
    sys_ioperm
    SyS_iopl
    sys_modify_ldt
    SyS_mmap
    SyS_set_thread_area
    SyS_get_thread_area
    SyS_set_tid_address
    sys_fork
    ----

    Link: http://lkml.kernel.org/r/147566869501.29136.6462645009894738056.stgit@devbox

    Acked-by: Namhyung Kim
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     

22 Oct, 2016

1 commit


07 Oct, 2016

1 commit

  • Pull tracing updates from Steven Rostedt:
    "This release cycle is rather small. Just a few fixes to tracing.

    The big change is the addition of the hwlat tracer. It not only
    detects SMIs, but also other latency that's caused by the hardware. I
    have detected some latency from large boxes having bus contention"

    * tag 'trace-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Call traceoff trigger after event is recorded
    ftrace/scripts: Add helper script to bisect function tracing problem functions
    tracing: Have max_latency be defined for HWLAT_TRACER as well
    tracing: Add NMI tracing in hwlat detector
    tracing: Have hwlat trace migrate across tracing_cpumask CPUs
    tracing: Add documentation for hwlat_detector tracer
    tracing: Added hardware latency tracer
    ftrace: Access ret_stack->subtime only in the function profiler
    function_graph: Handle TRACE_BPUTS in print_graph_comment
    tracing/uprobe: Drop isdigit() check in create_trace_uprobe

    Linus Torvalds
     

04 Oct, 2016

1 commit

  • Pull low-level x86 updates from Ingo Molnar:
    "In this cycle this topic tree has become one of those 'super topics'
    that accumulated a lot of changes:

    - Add CONFIG_VMAP_STACK=y support to the core kernel and enable it on
    x86 - preceded by an array of changes. v4.8 saw preparatory changes
    in this area already - this is the rest of the work. Includes the
    thread stack caching performance optimization. (Andy Lutomirski)

    - switch_to() cleanups and all around enhancements. (Brian Gerst)

    - A large number of dumpstack infrastructure enhancements and an
    unwinder abstraction. The secret long term plan is safe(r) live
    patching plus maybe another attempt at debuginfo based unwinding -
    but all these current bits are standalone enhancements in a frame
    pointer based debug environment as well. (Josh Poimboeuf)

    - More __ro_after_init and const annotations. (Kees Cook)

    - Enable KASLR for the vmemmap memory region. (Thomas Garnier)"

    [ The virtually mapped stack changes are pretty fundamental, and not
    x86-specific per se, even if they are only used on x86 right now. ]

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (70 commits)
    x86/asm: Get rid of __read_cr4_safe()
    thread_info: Use unsigned long for flags
    x86/alternatives: Add stack frame dependency to alternative_call_2()
    x86/dumpstack: Fix show_stack() task pointer regression
    x86/dumpstack: Remove dump_trace() and related callbacks
    x86/dumpstack: Convert show_trace_log_lvl() to use the new unwinder
    oprofile/x86: Convert x86_backtrace() to use the new unwinder
    x86/stacktrace: Convert save_stack_trace_*() to use the new unwinder
    perf/x86: Convert perf_callchain_kernel() to use the new unwinder
    x86/unwind: Add new unwind interface and implementations
    x86/dumpstack: Remove NULL task pointer convention
    fork: Optimize task creation by caching two thread stacks per CPU if CONFIG_VMAP_STACK=y
    sched/core: Free the stack early if CONFIG_THREAD_INFO_IN_TASK
    lib/syscall: Pin the task stack in collect_syscall()
    x86/process: Pin the target stack in get_wchan()
    x86/dumpstack: Pin the target stack when dumping it
    kthread: Pin the stack via try_get_task_stack()/put_task_stack() in to_live_kthread() function
    sched/core: Add try_get_task_stack() and put_task_stack()
    x86/entry/64: Fix a minor comment rebase error
    iommu/amd: Don't put completion-wait semaphore on stack
    ...

    Linus Torvalds
     

03 Sep, 2016

2 commits


02 Sep, 2016

1 commit

  • The subtime is used only for function profiler with function graph
    tracer enabled. Move the definition of subtime under
    CONFIG_FUNCTION_PROFILER to reduce the memory usage. Also move the
    initialization of subtime into the graph entry callback.

    Link: http://lkml.kernel.org/r/20160831025529.24018-1-namhyung@kernel.org

    Cc: Ingo Molnar
    Cc: Josh Poimboeuf
    Signed-off-by: Namhyung Kim
    Signed-off-by: Steven Rostedt

    Namhyung Kim
     

24 Aug, 2016

3 commits

  • Storing this value will help prevent unwinders from getting out of sync
    with the function graph tracer ret_stack. Now instead of needing a
    stateful iterator, they can compare the return address pointer to find
    the right ret_stack entry.

    Note that an array of 50 ftrace_ret_stack structs is allocated for every
    task. So when an arch implements this, it will add either 200 or 400
    bytes of memory usage per task (depending on whether it's a 32-bit or
    64-bit platform).

    Signed-off-by: Josh Poimboeuf
    Acked-by: Steven Rostedt
    Cc: Andy Lutomirski
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Byungchul Park
    Cc: Denys Vlasenko
    Cc: Frederic Weisbecker
    Cc: H. Peter Anvin
    Cc: Kees Cook
    Cc: Linus Torvalds
    Cc: Nilay Vaish
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/a95cfcc39e8f26b89a430c56926af0bb217bc0a1.1471607358.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar

    Josh Poimboeuf
     
  • Change kprobe/uprobe-tracer to show the arguments type-casted
    with u8/u16/u32/u64 in decimal digits instead of hexadecimal.

    To minimize compatibility issue, the arguments without type
    casting are typed by x64 (or x32 for 32bit arch) by default.

    Note: all arguments set by old perf probe without types are
    shown in decimal by default.

    Signed-off-by: Masami Hiramatsu
    Acked-by: Steven Rostedt
    Cc: Alexander Shishkin
    Cc: Hemant Kumar
    Cc: Naohiro Aota
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/147151076135.12957.14684546093034343894.stgit@devbox
    Signed-off-by: Arnaldo Carvalho de Melo

    Masami Hiramatsu
     
  • Add x8/x16/x32/x64 for hexadecimal type casting to kprobe/uprobe event
    tracer.

    These type casts can be used for integer arguments for explicitly
    showing them in hexadecimal digits in formatted text.

    Signed-off-by: Masami Hiramatsu
    Acked-by: Steven Rostedt
    Cc: Alexander Shishkin
    Cc: Hemant Kumar
    Cc: Naohiro Aota
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Link: http://lkml.kernel.org/r/147151067029.12957.11591314629326414783.stgit@devbox
    Signed-off-by: Arnaldo Carvalho de Melo

    Masami Hiramatsu
     

20 Jun, 2016

1 commit

  • ftrace is very quick to give up on saving the task command line (see
    `trace_save_cmdline()`). The workaround for events which really care
    about the command line is to explicitly assign it as part of the entry.
    However, this doesn't work for kprobe events, as there's no
    straightforward way to get access to current->comm. Add a kprobe/uprobe
    event variable $comm which provides exactly that.

    Link: http://lkml.kernel.org/r/f59b472033b943a370f5f48d0af37698f409108f.1465435894.git.osandov@fb.com

    Acked-by: Masami Hiramatsu
    Signed-off-by: Omar Sandoval
    Signed-off-by: Steven Rostedt

    Omar Sandoval
     

21 May, 2016

1 commit

  • Pull char / misc driver updates from Greg KH:
    "Here's the big char and misc driver update for 4.7-rc1.

    Lots of different tiny driver subsystems have updates here with new
    drivers and functionality. Details in the shortlog.

    All have been in linux-next with no reported issues for a while"

    * tag 'char-misc-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (125 commits)
    mcb: Delete num_cells variable which is not required
    mcb: Fixed bar number assignment for the gdd
    mcb: Replace ioremap and request_region with the devm version
    mcb: Implement bus->dev.release callback
    mcb: export bus information via sysfs
    mcb: Correctly initialize the bus's device
    mei: bus: call mei_cl_read_start under device lock
    coresight: etb10: adjust read pointer only when needed
    coresight: configuring ETF in FIFO mode when acting as link
    coresight: tmc: implementing TMC-ETF AUX space API
    coresight: moving struct cs_buffers to header file
    coresight: tmc: keep track of memory width
    coresight: tmc: make sysFS and Perf mode mutually exclusive
    coresight: tmc: dump system memory content only when needed
    coresight: tmc: adding mode of operation for link/sinks
    coresight: tmc: getting rid of multiple read access
    coresight: tmc: allocating memory when needed
    coresight: tmc: making prepare/unprepare functions generic
    coresight: tmc: splitting driver in ETB/ETF and ETR components
    coresight: tmc: cleaning up header file
    ...

    Linus Torvalds
     

19 May, 2016

1 commit

  • Pull tracing updates from Steven Rostedt:
    "This includes two new updates for the ftrace infrastructure.

    - With the changing of the code for filtering events by pid, from a
    list of pids to a bitmask, we can now easily implement following
    forks. With a new tracing option "event-fork" which, when set,
    will have tasks with pids in set_event_pid, when they fork, to have
    their child pids added to set_event_pid and the child will be
    traced as well.

    Note, if "event-fork" is set and a task with its pid in
    set_event_pid exits, its pid will be removed from set_event_pid

    - The addition of Tom Zanussi's hist triggers. This includes a very
    thorough documentatino on how to use the hist triggers with events.
    This introduces a quick and easy way to get histogram data from
    events and their fields.

    Some other cleanups and updates were added as well. Like Masami
    Hiramatsu added test cases for the event trigger and hist triggers.
    Also I added a speed up of filtering by using a temp buffer when
    filters are set"

    * tag 'trace-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (45 commits)
    tracing: Use temp buffer when filtering events
    tracing: Remove TRACE_EVENT_FL_USE_CALL_FILTER logic
    tracing: Remove unused function trace_current_buffer_lock_reserve()
    tracing: Remove one use of trace_current_buffer_lock_reserve()
    tracing: Have trace_buffer_unlock_commit() call the _regs version with NULL
    tracing: Remove unused function trace_current_buffer_discard_commit()
    tracing: Move trace_buffer_unlock_commit{_regs}() to local header
    tracing: Fold filter_check_discard() into its only user
    tracing: Make filter_check_discard() local
    tracing: Move event_trigger_unlock_commit{_regs}() to local header
    tracing: Don't use the address of the buffer array name in copy_from_user
    tracing: Handle tracing_map_alloc_elts() error path correctly
    tracing: Add check for NULL event field when creating hist field
    tracing: checking for NULL instead of IS_ERR()
    tracing: Do not inherit event-fork option for instances
    tracing: Fix unsigned comparison to zero in hist trigger code
    kselftests/ftrace: Add a test for log2 modifier of hist trigger
    tracing: Add hist trigger 'log2' modifier
    kselftests/ftrace: Add hist trigger testcases
    kselftests/ftrace : Add event trigger testcases
    ...

    Linus Torvalds
     

04 May, 2016

1 commit

  • This driver adds support for the STM CoreSight IP block, allowing any
    system compoment (HW or SW) to log and aggregate messages via a
    single entity.

    The CoreSight STM exposes an application defined number of channels
    called stimulus port. Configuration is done using entries in sysfs
    and channels made available to userspace via configfs.

    Signed-off-by: Pratik Patel
    Signed-off-by: Mathieu Poirier
    Reviewed-by: Michael Williams
    Signed-off-by: Chunyan Zhang
    Signed-off-by: Greg Kroah-Hartman

    Pratik Patel
     

23 Apr, 2016

1 commit

  • The CPU load update related functions have a weak naming convention
    currently, starting with update_cpu_load_*() which isn't ideal as
    "update" is a very generic concept.

    Since two of these functions are public already (and a third is to come)
    that's enough to introduce a more conventional naming scheme. So let's
    do the following rename instead:

    update_cpu_load_*() -> cpu_load_update_*()

    Signed-off-by: Frederic Weisbecker
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Byungchul Park
    Cc: Chris Metcalf
    Cc: Christoph Lameter
    Cc: Luiz Capitulino
    Cc: Mike Galbraith
    Cc: Paul E . McKenney
    Cc: Peter Zijlstra
    Cc: Rik van Riel
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1460555812-25375-2-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     

20 Apr, 2016

3 commits

  • Allow users to define 'named' hist triggers. All triggers created
    with the same 'name=xxx' option will update the same shared histogram
    data.

    This expands the hist trigger syntax from this:

    # echo hist:keys=xxx ... [ if filter] > event/trigger

    to this:

    # echo hist:name=xxx:keys=xxx ... [ if filter] > event/trigger

    Named histograms must use a 'compatible' set of keys and values, which
    means each event added to a set of named triggers must have the same
    names and types.

    Reading the 'hist' file of any of the participating events will
    produce the same output as any other participating event, which is to
    be expected since they share the same data.

    Link: http://lkml.kernel.org/r/1dbc84ee3322a75daaf5b3ef1d0cc0a2fb682fc7.1457029949.git.tom.zanussi@linux.intel.com

    Signed-off-by: Tom Zanussi
    Tested-by: Masami Hiramatsu
    Reviewed-by: Namhyung Kim
    Signed-off-by: Steven Rostedt

    Tom Zanussi
     
  • Allow users to define any number of hist triggers per trace event.
    Any number of hist triggers may be added for a given event, which may
    differ by key, value, or filter.

    Reading the event's 'hist' file will display the output of all the
    hist triggers defined on an event concatenated in the order they were
    defined.

    Link: http://lkml.kernel.org/r/48a0c8dd34c344571de880fb35e211c6d9a28961.1457029949.git.tom.zanussi@linux.intel.com

    Signed-off-by: Tom Zanussi
    Tested-by: Masami Hiramatsu
    Reviewed-by: Namhyung Kim
    Signed-off-by: Steven Rostedt

    Tom Zanussi
     
  • Add documentation and usage examples for 'hist' triggers.

    Link: http://lkml.kernel.org/r/2e13f35f47fea6d647f0efefccfc9673ea84b29f.1457029949.git.tom.zanussi@linux.intel.com

    Signed-off-by: Tom Zanussi
    Tested-by: Masami Hiramatsu
    Reviewed-by: Namhyung Kim
    Signed-off-by: Steven Rostedt

    Tom Zanussi
     

19 Apr, 2016

1 commit