1. 28 8月, 2019 1 次提交
  2. 18 7月, 2019 1 次提交
    • M
      kbuild: create *.mod with full directory path and remove MODVERDIR · b7dca6dd
      Masahiro Yamada 提交于
      While descending directories, Kbuild produces objects for modules,
      but do not link final *.ko files; it is done in the modpost.
      
      To keep track of modules, Kbuild creates a *.mod file in $(MODVERDIR)
      for every module it is building. Some post-processing steps read the
      necessary information from *.mod files. This avoids descending into
      directories again. This mechanism was introduced in 2003 or so.
      
      Later, commit 551559e1 ("kbuild: implement modules.order") added
      modules.order. So, we can simply read it out to know all the modules
      with directory paths. This is easier than parsing the first line of
      *.mod files.
      
      $(MODVERDIR) has a flat directory structure, that is, *.mod files
      are named only with base names. This is based on the assumption that
      the module name is unique across the tree. This assumption is really
      fragile.
      
      Stephen Rothwell reported a race condition caused by a module name
      conflict:
      
        https://lkml.org/lkml/2019/5/13/991
      
      In parallel building, two different threads could write to the same
      $(MODVERDIR)/*.mod simultaneously.
      
      Non-unique module names are the source of all kind of troubles, hence
      commit 3a48a919 ("kbuild: check uniqueness of module names")
      introduced a new checker script.
      
      However, it is still fragile in the build system point of view because
      this race happens before scripts/modules-check.sh is invoked. If it
      happens again, the modpost will emit unclear error messages.
      
      To fix this issue completely, create *.mod with full directory path
      so that two threads never attempt to write to the same file.
      
      $(MODVERDIR) is no longer needed.
      
      Since modules with directory paths are listed in modules.order, Kbuild
      is still able to find *.mod files without additional descending.
      
      I also killed cmd_secanalysis; scripts/mod/sumversion.c computes MD4 hash
      for modules with MODULE_VERSION(). When CONFIG_DEBUG_SECTION_MISMATCH=y,
      it occurs not only in the modpost stage, but also during directory
      descending, where sumversion.c may parse stale *.mod files. It would emit
      'No such file or directory' warning when an object consisting a module is
      renamed, or when a single-obj module is turned into a multi-obj module or
      vice versa.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: NNicolas Pitre <nico@fluxnic.net>
      b7dca6dd
  3. 12 7月, 2019 1 次提交
  4. 03 7月, 2019 1 次提交
    • S
      tools/power/x86: A tool to validate Intel Speed Select commands · 3fb4f7cd
      Srinivas Pandruvada 提交于
      The Intel(R) Speed select technologies contains four features.
      
      Performance profile:An non architectural mechanism that allows multiple
      optimized performance profiles per system via static and/or dynamic
      adjustment of core count, workload, Tjmax, and TDP, etc. aka ISS
      in the documentation.
      
      Base Frequency: Enables users to increase guaranteed base frequency on
      certain cores (high priority cores) in exchange for lower base frequency
      on remaining cores (low priority cores). aka PBF in the documenation.
      
      Turbo frequency: Enables the ability to set different turbo ratio limits
      to cores based on priority. aka FACT in the documentation.
      
      Core power: An Interface that allows user to define per core/tile
      priority.
      
      There is a multi level help for commands and options. This can be used
      to check required arguments for each feature and commands for the
      feature.
      
      To start navigating the features start with
      
      $sudo intel-speed-select --help
      
      For help on a specific feature for example
      $sudo intel-speed-select perf-profile --help
      
      To get help for a command for a feature for example
      $sudo intel-speed-select perf-profile get-lock-status --help
      Signed-off-by: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Acked-by: NLen Brown <len.brown@intel.com>
      Acked-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      3fb4f7cd
  5. 19 6月, 2019 3 次提交
  6. 05 6月, 2019 4 次提交
  7. 04 6月, 2019 2 次提交
  8. 31 5月, 2019 5 次提交
  9. 29 5月, 2019 1 次提交
    • M
      ACPI: tools: Exclude tools/* from .gitignore patterns · b1954bbf
      Masahiro Yamada 提交于
      tools/power/acpi/.gitignore has the following entries:
      
        acpidbg
        acpidump
        ec
      
      They are intended to ignore the following build artifacts:
      
        tools/power/acpi/acpidbg
        tools/power/acpi/acpidump
        tools/power/acpi/ec
      
      However, those .gitignore entries are effective not only for the
      current directory, but also for any sub-directories.
      
      So, from the point of .gitignore grammar, the following check-in
      directories are also considered to be ignored:
      
        tools/power/acpi/tools/acpidbg
        tools/power/acpi/tools/acpidump
        tools/power/acpi/tools/ec
      
      As the manual gitignore(5) says "Files already tracked by Git are not
      affected", this is not a problem as far as Git is concerned.
      
      However, Git is not the only program that parses .gitignore because
      .gitignore is useful to distinguish build artifacts from source files.
      
      For example, tar(1) supports the --exclude-vcs-ignore option. As of
      writing, this option does not work perfectly, but it intends to create
      a tarball excluding files specified by .gitignore.
      
      The issue can be prevented by prefixing the pattern with a slash; the
      leading slash means the specified pattern is relative to the current
      directory.
      
      Do that for the "include" directory too for consistency and extra
      safety.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      [ rjw: Subject & changelog ]
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      b1954bbf
  10. 27 5月, 2019 3 次提交
    • T
      Add README and update pm-graph and sleepgraph docs · d5a5e4ec
      Todd Brandt 提交于
      Config/man page/README files:
       - include README in the pm-graph folder
       - add more detail to the example config to describe more options
       - update the sleepgraph man page to document the new arguments
      Signed-off-by: NTodd Brandt <todd.e.brandt@linux.intel.com>
      [ rjw: Subject ]
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d5a5e4ec
    • T
      Update to pm-graph 5.4 · 45dd0a42
      Todd Brandt 提交于
      bootgraph:
       - dmesg log format has changed, update parser in two places
       - fix prints in preparation for upgrade to python3
      
      sleepgraph:
       - fix prints in preparation for upgrade to python3
       - add new trace events and kprobes to cover freeze more completely
       - add new -ftop callgraph trace over suspend_devices_and_enter
       - add -wifi option to check if a wifi connection is active
       - add -skipkprobe option to suppress unwanted kprobes in dev mode
       - add kernel params and sysinfo to the log output
       - don't crash if /dev/mem is throwing IO errors, ignore FPDT and DMI
       - fix kprobe length calculation when calls are recursive
       - add several new kernel issue definitions for USB, ACPI, ATA, etc
       - enable turbostat output to be read from stdout instead of from file
       - add BIOS call data to the timeline from acpi_ps_execute_method kprobe
      Signed-off-by: NTodd Brandt <todd.e.brandt@linux.intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      45dd0a42
    • T
      Update to pm-graph 5.3 · 7673896a
      Todd Brandt 提交于
      sleepgraph:
       - add support for parsing kernel issues from timeline dmesg logs
       - with -summary, generate a summary-issues.html for kernel issues found
       - with -summary, generate a summary-devices.html for device callback times
       - when recreating a timeline, use -o to set the output html filename
       - capture mcelog data when hardware errors occur and store in log
       - add -turbostat option to capture power data during freeze
      Signed-off-by: NTodd Brandt <todd.e.brandt@linux.intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      7673896a
  11. 21 5月, 2019 1 次提交
  12. 09 4月, 2019 3 次提交
  13. 21 3月, 2019 11 次提交
  14. 19 3月, 2019 1 次提交
  15. 07 3月, 2019 1 次提交
  16. 14 2月, 2019 1 次提交