21 Sep, 2019

1 commit

  • Pull tracing updates from Steven Rostedt:

    - Addition of multiprobes to kprobe and uprobe events (allows for more
    than one probe attached to the same location)

    - Addition of adding immediates to probe parameters

    - Clean up of the recordmcount.c code. This brings us closer to merging
    recordmcount into objtool, and reuse code.

    - Other small clean ups

    * tag 'trace-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (33 commits)
    selftests/ftrace: Update kprobe event error testcase
    tracing/probe: Reject exactly same probe event
    tracing/probe: Fix to allow user to enable events on unloaded modules
    selftests/ftrace: Select an existing function in kprobe_eventname test
    tracing/kprobe: Fix NULL pointer access in trace_porbe_unlink()
    tracing: Make sure variable reference alias has correct var_ref_idx
    tracing: Be more clever when dumping hex in __print_hex()
    ftrace: Simplify ftrace hash lookup code in clear_func_from_hash()
    tracing: Add "gfp_t" support in synthetic_events
    tracing: Rename tracing_reset() to tracing_reset_cpu()
    tracing: Document the stack trace algorithm in the comments
    tracing/arm64: Have max stack tracer handle the case of return address after data
    recordmcount: Clarify what cleanup() does
    recordmcount: Remove redundant cleanup() calls
    recordmcount: Kernel style formatting
    recordmcount: Kernel style function signature formatting
    recordmcount: Rewrite error/success handling
    selftests/ftrace: Add syntax error test for multiprobe
    selftests/ftrace: Add syntax error test for immediates
    selftests/ftrace: Add a testcase for kprobe multiprobe event
    ...

    Linus Torvalds
     

02 Sep, 2019

1 commit

  • The current text could mislead the user into believing that only read()
    disables tracing. Clarify that any open() call that requests read access
    disables tracing.

    Link: https://lkml.kernel.org/r/CAADnVQ+hU6QOC_dPmpjnuv=9g4SQEeaMEMqXOS2WpMj=q=LdiQ@mail.gmail.com
    Signed-off-by: Peter Wu
    Acked-by: Steven Rostedt (VMware)
    Signed-off-by: Jonathan Corbet

    Peter Wu
     

01 Sep, 2019

1 commit

  • Add immediate value parameter (\1234) support to
    probe events. This allows you to specify an immediate
    (or dummy) parameter instead of fetching from memory
    or register.

    This feature looks odd, but imagine when you put a probe
    on a code to trace some data. If the code is compiled into
    2 instructions and 1 instruction has a value but other has
    nothing since it is optimized out.
    In that case, you can not fold those into one event, even
    if ftrace supported multiple probes on one event.
    With this feature, you can set a dummy value like
    foo=\deadbeef instead of something like foo=%di.

    Link: http://lkml.kernel.org/r/156095690733.28024.13258186548822649469.stgit@devnote2

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

    Masami Hiramatsu
     

01 Aug, 2019

1 commit

  • This changes from plain text to reStructuredText as suggestion
    in doc-guide [1]

    [1] https://www.kernel.org/doc/html/latest/doc-guide/sphinx.html

    Some adaptations such as: literal block, ``inline literal`` and
    alignment text,...

    Signed-off-by: Phong Tran
    Reviewed-by: Mauro Carvalho Chehab
    Acked-by: Mathieu Poirier
    Signed-off-by: Jonathan Corbet

    Phong Tran
     

19 Jul, 2019

1 commit

  • Pull tracing updates from Steven Rostedt:
    "The main changes in this release include:

    - Add user space specific memory reading for kprobes

    - Allow kprobes to be executed earlier in boot

    The rest are mostly just various clean ups and small fixes"

    * tag 'trace-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (33 commits)
    tracing: Make trace_get_fields() global
    tracing: Let filter_assign_type() detect FILTER_PTR_STRING
    tracing: Pass type into tracing_generic_entry_update()
    ftrace/selftest: Test if set_event/ftrace_pid exists before writing
    ftrace/selftests: Return the skip code when tracing directory not configured in kernel
    tracing/kprobe: Check registered state using kprobe
    tracing/probe: Add trace_event_call accesses APIs
    tracing/probe: Add probe event name and group name accesses APIs
    tracing/probe: Add trace flag access APIs for trace_probe
    tracing/probe: Add trace_event_file access APIs for trace_probe
    tracing/probe: Add trace_event_call register API for trace_probe
    tracing/probe: Add trace_probe init and free functions
    tracing/uprobe: Set print format when parsing command
    tracing/kprobe: Set print format right after parsed command
    kprobes: Fix to init kprobes in subsys_initcall
    tracepoint: Use struct_size() in kmalloc()
    ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS
    ftrace: Enable trampoline when rec count returns back to one
    tracing/kprobe: Do not run kprobe boot tests if kprobe_event is on cmdline
    tracing: Make a separate config for trace event self tests
    ...

    Linus Torvalds
     

16 Jul, 2019

1 commit

  • Pull PCI updates from Bjorn Helgaas:
    "Enumeration changes:

    - Evaluate PCI Boot Configuration _DSM to learn if firmware wants us
    to preserve its resource assignments (Benjamin Herrenschmidt)

    - Simplify resource distribution (Nicholas Johnson)

    - Decode 32 GT/s link speed (Gustavo Pimentel)

    Virtualization:

    - Fix incorrect caching of VF config space size (Alex Williamson)

    - Fix VF driver probing sysfs knobs (Alex Williamson)

    Peer-to-peer DMA:

    - Fix dma_virt_ops check (Logan Gunthorpe)

    Altera host bridge driver:

    - Allow building as module (Ley Foon Tan)

    Armada 8K host bridge driver:

    - add PHYs support (Miquel Raynal)

    DesignWare host bridge driver:

    - Export APIs to support removable loadable module (Vidya Sagar)

    - Enable Relaxed Ordering erratum workaround only on Tegra20 &
    Tegra30 (Vidya Sagar)

    Hyper-V host bridge driver:

    - Fix use-after-free in eject (Dexuan Cui)

    Mobiveil host bridge driver:

    - Clean up and fix many issues, including non-identify mapped
    windows, 64-bit windows, multi-MSI, class code, INTx clearing (Hou
    Zhiqiang)

    Qualcomm host bridge driver:

    - Use clk bulk API for 2.4.0 controllers (Bjorn Andersson)

    - Add QCS404 support (Bjorn Andersson)

    - Assert PERST for at least 100ms (Niklas Cassel)

    R-Car host bridge driver:

    - Add r8a774a1 DT support (Biju Das)

    Tegra host bridge driver:

    - Add support for Gen2, opportunistic UpdateFC and ACK (PCIe protocol
    details) AER, GPIO-based PERST# (Manikanta Maddireddy)

    - Fix many issues, including power-on failure cases, interrupt
    masking in suspend, UPHY settings, AFI dynamic clock gating,
    pending DLL transactions (Manikanta Maddireddy)

    Xilinx host bridge driver:

    - Fix NWL Multi-MSI programming (Bharat Kumar Gogada)

    Endpoint support:

    - Fix 64bit BAR support (Alan Mikhak)

    - Fix pcitest build issues (Alan Mikhak, Andy Shevchenko)

    Bug fixes:

    - Fix NVIDIA GPU multi-function power dependencies (Abhishek Sahu)

    - Fix NVIDIA GPU HDA enablement issue (Lukas Wunner)

    - Ignore lockdep for sysfs "remove" (Marek Vasut)

    Misc:

    - Convert docs to reST (Changbin Du, Mauro Carvalho Chehab)"

    * tag 'pci-v5.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (107 commits)
    PCI: Enable NVIDIA HDA controllers
    tools: PCI: Fix installation when `make tools/pci_install`
    PCI: dwc: pci-dra7xx: Fix compilation when !CONFIG_GPIOLIB
    PCI: Fix typos and whitespace errors
    PCI: mobiveil: Fix INTx interrupt clearing in mobiveil_pcie_isr()
    PCI: mobiveil: Fix infinite-loop in the INTx handling function
    PCI: mobiveil: Move PCIe PIO enablement out of inbound window routine
    PCI: mobiveil: Add upper 32-bit PCI base address setup in inbound window
    PCI: mobiveil: Add upper 32-bit CPU base address setup in outbound window
    PCI: mobiveil: Mask out hardcoded bits in inbound/outbound windows setup
    PCI: mobiveil: Clear the control fields before updating it
    PCI: mobiveil: Add configured inbound windows counter
    PCI: mobiveil: Fix the valid check for inbound and outbound windows
    PCI: mobiveil: Clean-up program_{ib/ob}_windows()
    PCI: mobiveil: Remove an unnecessary return value check
    PCI: mobiveil: Fix error return values
    PCI: mobiveil: Refactor the MEM/IO outbound window initialization
    PCI: mobiveil: Make some register updates more readable
    PCI: mobiveil: Reformat the code for readability
    dt-bindings: PCI: mobiveil: Change gpio_slave and apb_csr to optional
    ...

    Linus Torvalds
     

21 Jun, 2019

1 commit


15 Jun, 2019

2 commits

  • Convert the PM documents to ReST, in order to allow them to
    build with Sphinx.

    The conversion is actually:
    - add blank lines and indentation in order to identify paragraphs;
    - fix tables markups;
    - add some lists markups;
    - mark literal blocks;
    - adjust title markups.

    At its new index.rst, let's add a :orphan: while this is not linked to
    the main index.rst file, in order to avoid build warnings.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Bjorn Helgaas
    Acked-by: Mark Brown
    Acked-by: Srivatsa S. Bhat (VMware)

    Mauro Carvalho Chehab
     
  • Update the documentation to reflect the new naming scheme with
    latest changes.

    Reported-by: Leo Yan
    Reviewed-by: Mathieu Poirier
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Jonathan Corbet

    Suzuki K Poulose
     

08 Jun, 2019

1 commit


30 May, 2019

1 commit


26 May, 2019

3 commits

  • Add kprobe_event= boot parameter to define kprobe events
    at boot time.
    The definition syntax is similar to tracefs/kprobe_events
    interface, but use ',' and ';' instead of ' ' and '\n'
    respectively. e.g.

    kprobe_event=p,vfs_read,$arg1,$arg2

    This puts a probe on vfs_read with argument1 and 2, and
    enable the new event.

    Link: http://lkml.kernel.org/r/155851395498.15728.830529496248543583.stgit@devnote2

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

    Masami Hiramatsu
     
  • Support user-space dereference syntax for probe event arguments
    to dereference the data-structure or array in user-space.

    The syntax is just adding 'u' before an offset value.

    +|-u()

    e.g. +u8(%ax), +u0(+0(%si))

    For example, if you probe do_sched_setscheduler(pid, policy,
    param) and record param->sched_priority, you can add new
    probe as below;

    p do_sched_setscheduler priority=+u0($arg3)

    Note that kprobe event provides this and it doesn't change the
    dereference method automatically because we do not know whether
    the given address is in userspace or kernel on some archs.

    So as same as "ustring", this is an option for user, who has to
    carefully choose the dereference method.

    Link: http://lkml.kernel.org/r/155789872187.26965.4468456816590888687.stgit@devnote2

    Acked-by: Ingo Molnar
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     
  • Add "ustring" type for fetching user-space string from kprobe event.
    User can specify ustring type at uprobe event, and it is same as
    "string" for uprobe.

    Note that probe-event provides this option but it doesn't choose the
    correct type automatically since we have not way to decide the address
    is in user-space or not on some arch (and on some other arch, you can
    fetch the string by "string" type). So user must carefully check the
    target code (e.g. if you see __user on the target variable) and
    use this new type.

    Link: http://lkml.kernel.org/r/155789871009.26965.14167558859557329331.stgit@devnote2

    Acked-by: Ingo Molnar
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     

16 May, 2019

1 commit

  • Pull tracing updates from Steven Rostedt:
    "The major changes in this tracing update includes:

    - Removal of non-DYNAMIC_FTRACE from 32bit x86

    - Removal of mcount support from x86

    - Emulating a call from int3 on x86_64, fixes live kernel patching

    - Consolidated Tracing Error logs file

    Minor updates:

    - Removal of klp_check_compiler_support()

    - kdb ftrace dumping output changes

    - Accessing and creating ftrace instances from inside the kernel

    - Clean up of #define if macro

    - Introduction of TRACE_EVENT_NOP() to disable trace events based on
    config options

    And other minor fixes and clean ups"

    * tag 'trace-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (44 commits)
    x86: Hide the int3_emulate_call/jmp functions from UML
    livepatch: Remove klp_check_compiler_support()
    ftrace/x86: Remove mcount support
    ftrace/x86_32: Remove support for non DYNAMIC_FTRACE
    tracing: Simplify "if" macro code
    tracing: Fix documentation about disabling options using trace_options
    tracing: Replace kzalloc with kcalloc
    tracing: Fix partial reading of trace event's id file
    tracing: Allow RCU to run between postponed startup tests
    tracing: Fix white space issues in parse_pred() function
    tracing: Eliminate const char[] auto variables
    ring-buffer: Fix mispelling of Calculate
    tracing: probeevent: Fix to make the type of $comm string
    tracing: probeevent: Do not accumulate on ret variable
    tracing: uprobes: Re-enable $comm support for uprobe events
    ftrace/x86_64: Emulate call function while updating in breakpoint handler
    x86_64: Allow breakpoints to emulate call instructions
    x86_64: Add gap to int3 to allow for call emulation
    tracing: kdb: Allow ftdump to skip all but the last few entries
    tracing: Add trace_total_entries() / trace_total_entries_cpu()
    ...

    Linus Torvalds
     

15 May, 2019

1 commit

  • Patch series "mm: Generalize putback functions"]

    putback_inactive_pages() and move_active_pages_to_lru() are almost
    similar, so this patchset merges them ina single function.

    This patch (of 4):

    The patch moves the calculation from putback_inactive_pages() to
    shrink_inactive_list(). This makes putback_inactive_pages() looking more
    similar to move_active_pages_to_lru().

    To do that, we account activated pages in reclaim_stat::nr_activate.
    Since a page may change its LRU type from anon to file cache inside
    shrink_page_list() (see ClearPageSwapBacked()), we have to account pages
    for the both types. So, nr_activate becomes an array.

    Previously we used nr_activate to account PGACTIVATE events, but now we
    account them into pgactivate variable (since they are about number of
    pages in general, not about sum of hpage_nr_pages).

    Link: http://lkml.kernel.org/r/155290127956.31489.3393586616054413298.stgit@localhost.localdomain
    Signed-off-by: Kirill Tkhai
    Reviewed-by: Daniel Jordan
    Cc: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill Tkhai
     

11 May, 2019

1 commit

  • Pull more documentation updates from Jonathan Corbet:
    "Some late arriving documentation changes. In particular, this contains
    the conversion of the x86 docs to RST, which has been in the works for
    some time but needed a couple of final tweaks"

    * tag 'docs-5.2a' of git://git.lwn.net/linux: (29 commits)
    Documentation: x86: convert x86_64/machinecheck to reST
    Documentation: x86: convert x86_64/cpu-hotplug-spec to reST
    Documentation: x86: convert x86_64/fake-numa-for-cpusets to reST
    Documentation: x86: convert x86_64/5level-paging.txt to reST
    Documentation: x86: convert x86_64/mm.txt to reST
    Documentation: x86: convert x86_64/uefi.txt to reST
    Documentation: x86: convert x86_64/boot-options.txt to reST
    Documentation: x86: convert i386/IO-APIC.txt to reST
    Documentation: x86: convert usb-legacy-support.txt to reST
    Documentation: x86: convert orc-unwinder.txt to reST
    Documentation: x86: convert resctrl_ui.txt to reST
    Documentation: x86: convert microcode.txt to reST
    Documentation: x86: convert pti.txt to reST
    Documentation: x86: convert amd-memory-encryption.txt to reST
    Documentation: x86: convert intel_mpx.txt to reST
    Documentation: x86: convert protection-keys.txt to reST
    Documentation: x86: convert pat.txt to reST
    Documentation: x86: convert mtrr.txt to reST
    Documentation: x86: convert tlb.txt to reST
    Documentation: x86: convert zero-page.txt to reST
    ...

    Linus Torvalds
     

09 May, 2019

2 commits

  • The current trace documentation, the section describing histogram's "onmatch"
    is not straightforward enough about how this action is applied. It is not
    clear what criteria are used to "match" both events. A short note is added,
    describing what exactly is compared in order to match the events.

    Signed-off-by: Tzvetomir Stoyanov
    Reviewed-by: Steven Rostedt (VMware)
    Reviewed-by: Tom Zanussi
    [jc: fixed trivial conflict with docs-next]
    Signed-off-by: Jonathan Corbet

    Tzvetomir Stoyanov
     
  • Pull documentation updates from Jonathan Corbet:
    "A reasonably busy cycle for docs, including:

    - Lots of work on the Chinese and Italian translations

    - Some license-rules clarifications from Christoph

    - Various build-script fixes

    - A new document on memory models

    - RST conversion of the live-patching docs

    - The usual collection of typo fixes and corrections"

    * tag 'docs-5.2' of git://git.lwn.net/linux: (140 commits)
    docs/livepatch: Unify style of livepatch documentation in the ReST format
    docs: livepatch: convert docs to ReST and rename to *.rst
    scripts/documentation-file-ref-check: detect broken :doc:`foo`
    scripts/documentation-file-ref-check: don't parse Next/ dir
    LICENSES: Rename other to deprecated
    LICENSES: Clearly mark dual license only licenses
    docs: Don't reference the ZLib license in license-rules.rst
    docs/vm: Minor editorial changes in the THP and hugetlbfs
    docs/vm: add documentation of memory models
    doc:it_IT: translation alignment
    doc: fix typo in PGP guide
    dontdiff: update with Kconfig build artifacts
    docs/zh_CN: fix typos in 1.Intro.rst file
    docs/zh_CN: redirect CoC docs to Chinese version
    doc: mm: migration doesn't use FOLL_SPLIT anymore
    docs: doc-guide: remove the extension from .rst files
    doc: kselftest: Fix KBUILD_OUTPUT usage instructions
    docs: trace: fix some Sphinx warnings
    docs: speculation.txt: mark example blocks as such
    docs: ntb.txt: add blank lines to clean up some Sphinx warnings
    ...

    Linus Torvalds
     

04 May, 2019

1 commit


16 Apr, 2019

1 commit


08 Apr, 2019

1 commit

  • Move most of the hist trigger extended error documentation to
    ftrace.rst and expand on it to fully document tracing/error_log.

    Link: http://lkml.kernel.org/r/c5d53c8f643ef6844d6ad8d0200c116936730b01.1554072478.git.tom.zanussi@linux.intel.com

    Acked-by: Masami Hiramatsu
    Acked-by: Namhyung Kim
    Signed-off-by: Tom Zanussi
    Signed-off-by: Steven Rostedt (VMware)

    Tom Zanussi
     

21 Feb, 2019

5 commits

  • uprobe_profile has filename and number of probe hits information for
    each uprobe event. The documentation erroneously talks about probe
    mis-hits. Update the documentation to the correct information.

    Link: http://lkml.kernel.org/r/1550557168-12345-1-git-send-email-srikar@linux.vnet.ibm.com

    Cc: Ingo Molnar
    Cc: Masami Hiramatsu
    Reported-by: KAUSTUBH RAJENDRA WELANKAR
    Signed-off-by: Srikar Dronamraju
    Signed-off-by: Steven Rostedt (VMware)

    Srikar Dronamraju
     
  • Add a 'trace(synthetic_event_name, params)' alternative to
    synthetic_event_name(params).

    Currently, the syntax used for generating synthetic events is to
    invoke synthetic_event_name(params) i.e. use the synthetic event name
    as a function call.

    Users requested a new form that more explicitly shows that the
    synthetic event is in effect being traced. In this version, a new
    'trace()' keyword is used, and the synthetic event name is passed in
    as the first argument.

    In addition, for the sake of consistency with other actions, change
    the documention to emphasize the trace() form over the function-call
    form, which remains documented as equivalent.

    Link: http://lkml.kernel.org/r/d082773e50232a001480cf837679a1e01c1a2eb7.1550100284.git.tom.zanussi@linux.intel.com

    Signed-off-by: Tom Zanussi
    Signed-off-by: Steven Rostedt (VMware)

    Tom Zanussi
     
  • Add Documentation for the hist:onchange($var) handler.

    Link: http://lkml.kernel.org/r/ab54b7383b265609fda52648a8fbfbd2631a640f.1550100284.git.tom.zanussi@linux.intel.com

    Signed-off-by: Tom Zanussi
    Signed-off-by: Steven Rostedt (VMware)

    Tom Zanussi
     
  • Add Documentation for the hist:handlerXXX($var).snapshot() action.

    Link: http://lkml.kernel.org/r/445861d7822cd4b6aeaea1cecfcdbda466502148.1550100284.git.tom.zanussi@linux.intel.com

    Signed-off-by: Tom Zanussi
    Signed-off-by: Steven Rostedt (VMware)

    Tom Zanussi
     
  • The action/handler code refactoring didn't change the action/handler
    syntax, but did generalize it - the Documentation should reflect that.

    Link: http://lkml.kernel.org/r/c2fe4144678829c70cad67aaa847dca27d57cb83.1550100284.git.tom.zanussi@linux.intel.com

    Signed-off-by: Tom Zanussi
    Signed-off-by: Steven Rostedt (VMware)

    Tom Zanussi
     

16 Feb, 2019

1 commit

  • Enabling of large number of functions by echoing in a large subset of the
    functions in available_filter_functions can take a very long time. The
    process requires testing all functions registered by the function tracer
    (which is in the 10s of thousands), and doing a kallsyms lookup to convert
    the ip address into a name, then comparing that name with the string passed
    in.

    When a function causes the function tracer to crash the system, a binary
    bisect of the available_filter_functions can be done to find the culprit.
    But this requires passing in half of the functions in
    available_filter_functions over and over again, which makes it basically a
    O(n^2) operation. With 40,000 functions, that ends up bing 1,600,000,000
    opertions! And enabling this can take over 20 minutes.

    As a quick speed up, if a number is passed into one of the filter files,
    instead of doing a search, it just enables the function at the corresponding
    line of the available_filter_functions file. That is:

    # echo 50 > set_ftrace_filter
    # cat set_ftrace_filter
    x86_pmu_commit_txn

    # head -50 available_filter_functions | tail -1
    x86_pmu_commit_txn

    This allows setting of half the available_filter_functions to take place in
    less than a second!

    # time seq 20000 > set_ftrace_filter
    real 0m0.042s
    user 0m0.005s
    sys 0m0.015s

    # wc -l set_ftrace_filter
    20000 set_ftrace_filter

    Signed-off-by: Steven Rostedt (VMware)

    Steven Rostedt (VMware)
     

07 Feb, 2019

1 commit


11 Jan, 2019

1 commit

  • * pm-cpuidle:
    doc: trace: fix reference to cpuidle documentation file
    cpuidle / Documentation: Update cpuidle MAINTAINERS entry

    * pm-cpufreq:
    cpufreq: scmi: Fix frequency invariance in slow path
    cpufreq: check if policy is inactive early in __cpufreq_get()
    cpufreq: scpi/scmi: Fix freeing of dynamic OPPs
    cpufreq / Documentation: Update cpufreq MAINTAINERS entry

    * pm-sleep:
    PM: sleep: call devfreq suspend/resume

    Rafael J. Wysocki
     

09 Jan, 2019

1 commit


01 Jan, 2019

1 commit

  • Pull tracing updates from Steven Rostedt:

    - Rework of the kprobe/uprobe and synthetic events to consolidate all
    the dynamic event code. This will make changes in the future easier.

    - Partial rewrite of the function graph tracing infrastructure. This
    will allow for multiple users of hooking onto functions to get the
    callback (return) of the function. This is the ground work for having
    kprobes and function graph tracer using one code base.

    - Clean up of the histogram code that will facilitate adding more
    features to the histograms in the future.

    - Addition of str_has_prefix() and a few use cases. There currently is
    a similar function strstart() that is used in a few places, but only
    returns a bool and not a length. These instances will be removed in
    the future to use str_has_prefix() instead.

    - A few other various clean ups as well.

    * tag 'trace-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (57 commits)
    tracing: Use the return of str_has_prefix() to remove open coded numbers
    tracing: Have the historgram use the result of str_has_prefix() for len of prefix
    tracing: Use str_has_prefix() instead of using fixed sizes
    tracing: Use str_has_prefix() helper for histogram code
    string.h: Add str_has_prefix() helper function
    tracing: Make function ‘ftrace_exports’ static
    tracing: Simplify printf'ing in seq_print_sym
    tracing: Avoid -Wformat-nonliteral warning
    tracing: Merge seq_print_sym_short() and seq_print_sym_offset()
    tracing: Add hist trigger comments for variable-related fields
    tracing: Remove hist trigger synth_var_refs
    tracing: Use hist trigger's var_ref array to destroy var_refs
    tracing: Remove open-coding of hist trigger var_ref management
    tracing: Use var_refs[] for hist trigger reference checking
    tracing: Change strlen to sizeof for hist trigger static strings
    tracing: Remove unnecessary hist trigger struct field
    tracing: Fix ftrace_graph_get_ret_stack() to use task and not current
    seq_buf: Use size_t for len in seq_buf_puts()
    seq_buf: Make seq_buf_puts() null-terminate the buffer
    arm64: Use ftrace_graph_get_ret_stack() instead of curr_ret_stack
    ...

    Linus Torvalds
     

30 Dec, 2018

1 commit

  • Pull documentation update from Jonathan Corbet:
    "A fairly normal cycle for documentation stuff. We have a new document
    on perf security, more Italian translations, more improvements to the
    memory-management docs, improvements to the pathname lookup
    documentation, and the usual array of smaller fixes.

    As is often the case, there are a few reaches outside of
    Documentation/ to adjust kerneldoc comments"

    * tag 'docs-5.0' of git://git.lwn.net/linux: (38 commits)
    docs: improve pathname-lookup document structure
    configfs: fix wrong name of struct in documentation
    docs/mm-api: link slab_common.c to "The Slab Cache" section
    slab: make kmem_cache_create{_usercopy} description proper kernel-doc
    doc:process: add links where missing
    docs/core-api: make mm-api.rst more structured
    x86, boot: documentation whitespace fixup
    Documentation: devres: note checking needs when converting
    doc:it: add some process/* translations
    doc:it: fixes in process/1.Intro
    Documentation: convert path-lookup from markdown to resturctured text
    Documentation/admin-guide: update admin-guide index.rst
    Documentation/admin-guide: introduce perf-security.rst file
    scripts/kernel-doc: Fix struct and struct field attribute processing
    Documentation: dev-tools: Fix typos in index.rst
    Correct gen_init_cpio tool's documentation
    Document /proc/pid PID reuse behavior
    Documentation: update path-lookup.md for parallel lookups
    Documentation: Use "while" instead of "whilst"
    dmaengine: Add mailing list address to the documentation
    ...

    Linus Torvalds
     

20 Dec, 2018

1 commit

  • Commit 4cb3653df0cd ("stm class: Document the MIPI SyS-T protocol usage")
    added a document describing the SyS-T protocol usage, but forgot to add
    it to the directory index. Fix that.

    Signed-off-by: Alexander Shishkin
    Fixes: 4cb3653df0cd ("stm class: Document the MIPI SyS-T protocol usage")
    Signed-off-by: Greg Kroah-Hartman

    Alexander Shishkin
     

09 Dec, 2018

2 commits

  • Use dyn_event framework for uprobe events. This shows
    uprobe events on "dynamic_events" file.
    User can also define new uprobe events via dynamic_events.

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

    Reviewed-by: Tom Zanussi
    Tested-by: Tom Zanussi
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     
  • Use dyn_event framework for kprobe events. This shows
    kprobe events on "tracing/dynamic_events" file.

    User can also define new events via tracing/dynamic_events.

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

    Reviewed-by: Tom Zanussi
    Tested-by: Tom Zanussi
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     

08 Nov, 2018

1 commit


31 Oct, 2018

1 commit

  • Pull tracing updates from Steven Rostedt:
    "The biggest change here is the updates to kprobes

    Back in January I posted patches to create function based events.
    These were the events that you suggested I make to allow developers to
    easily create events in code where no trace event exists. After
    posting those changes for review, it was suggested that we implement
    this instead with kprobes.

    The problem with kprobes is that the interface is too complex and
    needs to be simplified. Masami Hiramatsu posted patches in March and
    I've been playing with them a bit. There's been a bit of clean up in
    the kprobe code that was inspired by the function based event patches,
    and a couple of enhancements to the kprobe event interface.

    - If the arch supports it (we added support for x86), you can place a
    kprobe event at the start of a function and use $arg1, $arg2, etc
    to reference the arguments of a function. (Before you needed to
    know what register or where on the stack the argument was).

    - The second is a way to see array of events. For example, if you
    reference a mac address, you can add:

    echo 'p:mac ip_rcv perm_addr=+574($arg2):x8[6]' > kprobe_events

    And this will produce:

    mac: (ip_rcv+0x0/0x140) perm_addr={0x52,0x54,0x0,0xc0,0x76,0xec}

    Other changes include

    - Exporting trace_dump_stack to modules

    - Have the stack tracer trace the entire stack (stop trying to remove
    tracing itself, as we keep removing too much).

    - Added support for SDT in uprobes"

    [ SDT - "Statically Defined Tracing" are userspace markers for tracing.
    Let's not use random TLA's in explanations unless they are fairly
    well-established as generic (at least for kernel people) - Linus ]

    * tag 'trace-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (24 commits)
    tracing: Have stack tracer trace full stack
    tracing: Export trace_dump_stack to modules
    tracing: probeevent: Fix uninitialized used of offset in parse args
    tracing/kprobes: Allow kprobe-events to record module symbol
    tracing/kprobes: Check the probe on unloaded module correctly
    tracing/uprobes: Fix to return -EFAULT if copy_from_user failed
    tracing: probeevent: Add $argN for accessing function args
    x86: ptrace: Add function argument access API
    tracing: probeevent: Add array type support
    tracing: probeevent: Add symbol type
    tracing: probeevent: Unify fetch_insn processing common part
    tracing: probeevent: Append traceprobe_ for exported function
    tracing: probeevent: Return consumed bytes of dynamic area
    tracing: probeevent: Unify fetch type tables
    tracing: probeevent: Introduce new argument fetching code
    tracing: probeevent: Remove NOKPROBE_SYMBOL from print functions
    tracing: probeevent: Cleanup argument field definition
    tracing: probeevent: Cleanup print argument functions
    trace_uprobe: support reference counter in fd-based uprobe
    perf probe: Support SDT markers having reference counter (semaphore)
    ...

    Linus Torvalds
     

27 Oct, 2018

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big set of char/misc patches for 4.20-rc1.

    Loads of things here, we have new code in all of these driver
    subsystems:
    - fpga
    - stm
    - extcon
    - nvmem
    - eeprom
    - hyper-v
    - gsmi
    - coresight
    - thunderbolt
    - vmw_balloon
    - goldfish
    - soundwire
    along with lots of fixes and minor changes to other small drivers.

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

    * tag 'char-misc-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (245 commits)
    Documentation/security-bugs: Clarify treatment of embargoed information
    lib: Fix ia64 bootloader linkage
    MAINTAINERS: Clarify UIO vs UIOVEC maintainer
    docs/uio: fix a grammar nitpick
    docs: fpga: document programming fpgas using regions
    fpga: add devm_fpga_region_create
    fpga: bridge: add devm_fpga_bridge_create
    fpga: mgr: add devm_fpga_mgr_create
    hv_balloon: Replace spin_is_locked() with lockdep
    sgi-xp: Replace spin_is_locked() with lockdep
    eeprom: New ee1004 driver for DDR4 memory
    eeprom: at25: remove unneeded 'at25_remove'
    w1: IAD Register is yet readable trough iad sys file. Fix snprintf (%u for unsigned, count for max size).
    misc: mic: scif: remove set but not used variables 'src_dma_addr, dst_dma_addr'
    misc: mic: fix a DMA pool free failure
    platform: goldfish: pipe: Add a blank line to separate varibles and code
    platform: goldfish: pipe: Remove redundant casting
    platform: goldfish: pipe: Call misc_deregister if init fails
    platform: goldfish: pipe: Move the file-scope goldfish_pipe_dev variable into the driver state
    platform: goldfish: pipe: Move the file-scope goldfish_pipe_miscdev variable into the driver state
    ...

    Linus Torvalds
     

19 Oct, 2018

1 commit