02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

22 Sep, 2016

1 commit

  • Every so often, with a special config or a architecture change, running
    function or function_graph tracing can cause the machien to hard reboot,
    crash, or simply hard lockup. There's some functions in the function graph
    tracer that can not be traced otherwise it causes the function tracer to
    recurse before the recursion protection mechanisms are in place.

    When this occurs, using the dynamic ftrace featuer that allows limiting what
    actually gets traced can be used to bisect down to the problem function.
    This adds a script that helps with this process in the scripts/tracing
    directory, called ftrace-bisect.sh

    The set up is to read all the functions that can be traced from
    available_filter_functions into a file (full_file). Then run this script
    passing it the full_file and a "test_file" and "non_test_file", where the
    test_file will be add to set_ftrace_filter. What ftarce_bisect.sh does, is
    to copy half of the functions in full_file into the test_file and the other
    half into the non_test_file. This way, one can cat the test_file into the
    set_ftrace_filter functions and only test the functions that are in that
    file. If it works, then we run the process again after copying non_test_file
    to full_file and repeating the process. If the system crashed, then the bad
    function is in the test_file and after a reboot, the test_file becomes the
    new full_file in the next iteration.

    When we get down to a single function in the full_file, then
    ftrace_bisect.sh will report that as the bad function.

    Full documentation of how to use this simple script is within the script
    file itself.

    Link: http://lkml.kernel.org/r/20160920100716.131d3647@gandalf.local.home

    Signed-off-by: Steven Rostedt

    Steven Rostedt (Red Hat)
     

20 Aug, 2014

1 commit


19 Sep, 2009

1 commit

  • This patch converts the existing power tracer into an event tracer,
    so that power events (C states and frequency changes) can be
    tracked via "perf".

    This also removes the perl script that was used to demo the tracer;
    its functionality is being replaced entirely with timechart.

    Signed-off-by: Arjan van de Ven
    Acked-by: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Arjan van de Ven
     

16 Jun, 2009

1 commit

  • Many developers use "/debug/" or "/debugfs/" or "/sys/kernel/debug/"
    directory name to mount debugfs filesystem for ftrace according to
    ./Documentation/tracers/ftrace.txt file.

    And, three directory names(ex:/debug/, /debugfs/, /sys/kernel/debug/) is
    existed in kernel source like ftrace, DRM, Wireless, Documentation,
    Network[sky2]files to mount debugfs filesystem.

    debugfs means debug filesystem for debugging easy to use by greg kroah
    hartman. "/sys/kernel/debug/" name is suitable as directory name
    of debugfs filesystem.
    - debugfs related reference: http://lwn.net/Articles/334546/

    Fix inconsistency of directory name to mount debugfs filesystem.

    * From Steven Rostedt
    - find_debugfs() and tracing_files() in this patch.

    Signed-off-by: GeunSik Lim
    Acked-by : Inaky Perez-Gonzalez
    Reviewed-by : Steven Rostedt
    Reviewed-by : James Smart
    CC: Jiri Kosina
    CC: David Airlie
    CC: Peter Osterlund
    CC: Ananth N Mavinakayanahalli
    CC: Anil S Keshavamurthy
    CC: Masami Hiramatsu
    Signed-off-by: Greg Kroah-Hartman

    GeunSik Lim
     

01 Apr, 2009

1 commit


27 Oct, 2008

1 commit

  • This script parses a function trace and then produces a hierarchical
    view of the function call stack after processing it into a tree.

    Changes on V2 thanks to the trace sent by Steven:

    - Support both the files "trace" and "trace_pipe" (comments and space
    differences)

    - Correct the mini HOW-TO at the beginning.

    Signed-off-by: Frederic Weisbecker
    Acked-by: Steven Rostedt
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker