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 Jul, 2017

3 commits

  • update help text and man pages for both tools
    - added more examples and separated them by category
    Makefile upgrades
    - uninstall: remove errors from uninstall if tool not found
    - install: perform uninstall before install

    Signed-off-by: Todd Brandt
    Signed-off-by: Rafael J. Wysocki

    Todd E Brandt
     
  • - changed output from single html file to dir with html/dmesg/ftrace
    - add sysinfo to logs and timeline
    - add -sysinfo command, displays dmidecode values and cpu/mem info
    - set trace buffer size to lesser of memtotal/2 or 2GB when using callgraph
    - extended timeline to the last init call in user space
    separated timeline into two phases, kernel mode & user mode
    - add kernel version check for ftrace usage, 4.10 minimum
    - change -filter argument to -func
    - add strict protections on -func usage with full symbol checks
    now only works for statically linked functions
    cmd -flistall now ignores all loadable module functions
    - add -cgfilter argument for reducing timeline size by removing callgraphs
    - crontab usage: preserve existing @reboot lines in user crontab
    - fedora support added: uses grub2 loader, handles fedora crontab
    - stop using "which" to find binaries, search pre-defined path list
    - moved most output processing to analyze_suspend library

    Signed-off-by: Todd Brandt
    Signed-off-by: Rafael J. Wysocki

    Todd E Brandt
     
  • - changed -rtcwake parameter to be on & 15 sec by default,
    to disable rtcwake use: "-rtcwake off"
    - changed behavior of -o: renames HTML file on rerun, subdir on new run
    - changed execution_misalignment error to missing_function_name
    - add sysinfo to logs and timeline via a custom dmidecode call
    it supplants dmidecode tool when used as a library call
    - add -sysinfo command, displays dmidecode values and cpu/mem info
    - set trace buffer size to lesser of memtotal/2 or 2GB when using callgraph
    - add support for /sys/power/mem_sleep. if mem_sleep found:
    mem-shallow=standby, mem-s2idle=freeze, mem-deep=mem
    - remove redundant javascript
    - cosmetic changes to HTML layout

    Signed-off-by: Todd Brandt
    Signed-off-by: Rafael J. Wysocki

    Todd E Brandt
     

20 Apr, 2017

3 commits

  • BootGraph and SleepGraph man pages
    - includes full descriptions of tool arguments and commands
    - includes examples of common use cases

    Makefile
    - no build required, used only for install
    - installs man pages and tools as libraries with links
    - includes an uninstall

    Signed-off-by: Todd Brandt
    Signed-off-by: Rafael J. Wysocki

    Todd E Brandt
     
  • First release into the kernel tools source
    - pulls in analyze_suspend.py as as library, same html formatting
    - supplants scripts/bootgraph.pl, outputs HTML instead of SVG
    - enables automatic reboot and collection for easy timeline capture
    - enables ftrace callgraph collection from early boot

    Signed-off-by: Todd Brandt
    Signed-off-by: Rafael J. Wysocki

    Todd E Brandt
     
  • Moved from scripts into tools, and updated from 4.5 to 4.6
    - Changed the tool title to SleepGraph
    - Reformatted the code so analyze_suspend can be used as a library
    - Reorganized all html/js/css handling code to be used by other tools
    - upgraded the -summary feature to work faster with better readability

    Signed-off-by: Todd Brandt
    Signed-off-by: Rafael J. Wysocki

    Todd E Brandt