Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1479560

[PATCH v3 0/8] Support Intel® Turbo Boost Max Technology 3.0

From Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Newsgroups linux.kernel
Subject [PATCH v3 0/8] Support Intel® Turbo Boost Max Technology 3.0
Date 2016-09-09 00:30 +0200
Message-ID <sffZw-3f7-9@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


v3:
- Fix race clash when more than one program are enabling/disabling ITMT
- Remove group_priority_cpu macro to simplify code.
- Error reported by 0-day for compile issue on ARM

v2
- The patchset is split into two parts so that CPPC changes can be merged first
 1. Only ACPI CPPC changes (It is posted separately)
 2. ITMT changes (scheduler and Intel P-State)

- Changes in patch: sched,x86: Enable Turbo Boost Max Technology
 1. Use arch_update_cpu_topology to indicate need to completely
    rebuild sched domain when ITMT related sched domain flags change
 2. Enable client (single node) platform capable of ITMT with ITMT
    scheduling by default
 3. Implement arch_asym_cpu_priority to provide the cpu priority
    value to scheduler for asym packing.
 4. Fix a compile bug for i386 architecture.

- Changes in patch: sched: Extend scheduler's asym packing
 1. Use arch_asym_cpu_priority() to provide cpu priority
    value used for asym packing to the scheduler.

- Changes in acpi: bus: Enable HWP CPPC objects and
  acpi: bus: Set _OSC for diverse core support
  Minor code cleanup by removing #ifdef
- Changes in Kconfig for Intel P-State
  Avoid building CPPC lib for i386 for issue reported by 0-day

- Feature is enabled by default for single socket systems

With Intel® Turbo Boost Max Technology 3.0 (ITMT), single-threaded performance is
optimized by identifying processor's fastest core and running critical workloads
on it.
Refere to:
http://www.intel.com/content/www/us/en/architecture-and-technology/turbo-boost/turbo-boost-max-technology.html

This patchset consist of all changes required to support ITMT feature:
- Use CPPC information in Intel P-State driver to get performance information
- Scheduler enhancements
- cppc lib patches (split in to a seprate series)

This featured can be enabled by writing at runtime
# echo 1 > /proc/sys/kernel/sched_itmt_enabled
This featured can be disabled by writing at runtime
# echo 0 > /proc/sys/kernel/sched_itmt_enabled

Srinivas Pandruvada (3):
  acpi: bus: Enable HWP CPPC objects
  acpi: bus: Set _OSC for diverse core support
  cpufreq: intel_pstate: Use CPPC to get max performance

Tim Chen (5):
  sched, x86: Add SD_ASYM_PACKING flags to x86 cpu topology for ITMT
  sched: Extend scheduler's asym packing
  x86, cpu: provide a function topology_num_packages to enumerate
    #packages
  sched, x86: use arch_update_cpu_topology to indicate x86 need sched
    domain rebuild
  sched,x86: Enable Turbo Boost Max Technology

 arch/x86/Kconfig                |   9 +++
 arch/x86/include/asm/topology.h |  25 ++++++
 arch/x86/kernel/Makefile        |   1 +
 arch/x86/kernel/itmt.c          | 164 ++++++++++++++++++++++++++++++++++++++++
 arch/x86/kernel/smpboot.c       |  92 +++++++++++++++++-----
 drivers/acpi/bus.c              |  10 +++
 drivers/cpufreq/Kconfig.x86     |   1 +
 drivers/cpufreq/intel_pstate.c  |  75 +++++++++++++++++-
 include/linux/acpi.h            |   1 +
 include/linux/sched.h           |   2 +
 kernel/sched/core.c             |  21 +++++
 kernel/sched/fair.c             |  35 ++++++---
 kernel/sched/sched.h            |   6 ++
 13 files changed, 410 insertions(+), 32 deletions(-)
 create mode 100644 arch/x86/kernel/itmt.c

-- 
2.7.4

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH v3 0/8] Support Intel® Turbo Boost Max Technology 3.0 Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> - 2016-09-09 00:30 +0200
  [PATCH v3 1/8] sched, x86: Add SD_ASYM_PACKING flags to x86 cpu topology for ITMT Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> - 2016-09-09 00:30 +0200
    Re: [PATCH v3 1/8] sched, x86: Add SD_ASYM_PACKING flags to x86 cpu  topology for ITMT Thomas Gleixner <tglx@linutronix.de> - 2016-09-10 15:20 +0200
    Re: [PATCH v3 1/8] sched, x86: Add SD_ASYM_PACKING flags to x86 cpu  topology for ITMT Thomas Gleixner <tglx@linutronix.de> - 2016-09-10 15:20 +0200
      Re: [PATCH v3 1/8] sched, x86: Add SD_ASYM_PACKING flags to x86 cpu  topology for ITMT Tim Chen <tim.c.chen@linux.intel.com> - 2016-09-12 23:00 +0200
        Re: [PATCH v3 1/8] sched, x86: Add SD_ASYM_PACKING flags to x86 cpu  topology for ITMT Peter Zijlstra <peterz@infradead.org> - 2016-09-13 09:30 +0200
          Re: [PATCH v3 1/8] sched, x86: Add SD_ASYM_PACKING flags to x86 cpu  topology for ITMT Jiri Olsa <jolsa@redhat.com> - 2016-09-19 11:20 +0200
            Re: [PATCH v3 1/8] sched, x86: Add SD_ASYM_PACKING flags to x86 cpu  topology for ITMT Tim Chen <tim.c.chen@linux.intel.com> - 2016-09-19 18:10 +0200
  [PATCH v3 2/8] sched: Extend scheduler's asym packing Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> - 2016-09-09 00:30 +0200

csiph-web