From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
To: rjw@rjwysocki.net, tglx@linutronix.de, mingo@redhat.com, bp@suse.de
Cc: x86@kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
peterz@infradead.org, tim.c.chen@linux.intel.com,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Subject: [PATCH v3 0/8] Support Intel® Turbo Boost Max Technology 3.0
Date: Thu, 8 Sep 2016 15:26:47 -0700 [thread overview]
Message-ID: <1473373615-51427-1-git-send-email-srinivas.pandruvada@linux.intel.com> (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
next reply other threads:[~2016-09-08 22:27 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-08 22:26 Srinivas Pandruvada [this message]
2016-09-08 22:26 ` [PATCH v3 1/8] sched, x86: Add SD_ASYM_PACKING flags to x86 cpu topology for ITMT Srinivas Pandruvada
2016-09-10 13:10 ` Thomas Gleixner
2016-09-12 20:50 ` Tim Chen
2016-09-13 7:26 ` Peter Zijlstra
2016-09-19 9:11 ` Jiri Olsa
2016-09-19 16:01 ` Tim Chen
2016-09-10 13:13 ` Thomas Gleixner
2016-09-08 22:26 ` [PATCH v3 2/8] sched: Extend scheduler's asym packing Srinivas Pandruvada
2016-09-08 22:26 ` [PATCH v3 3/8] x86, cpu: provide a function topology_num_packages to enumerate #packages Srinivas Pandruvada
2016-09-10 13:28 ` Thomas Gleixner
2016-09-12 20:51 ` Tim Chen
2016-09-08 22:26 ` [PATCH v3 4/8] sched, x86: use arch_update_cpu_topology to indicate x86 need sched domain rebuild Srinivas Pandruvada
2016-09-10 16:20 ` Thomas Gleixner
2016-09-12 21:00 ` Tim Chen
2016-09-08 22:26 ` [PATCH v3 5/8] sched,x86: Enable Turbo Boost Max Technology Srinivas Pandruvada
2016-09-10 16:21 ` Thomas Gleixner
2016-09-12 21:34 ` Tim Chen
2016-09-08 22:26 ` [PATCH v3 6/8] acpi: bus: Enable HWP CPPC objects Srinivas Pandruvada
2016-09-08 22:26 ` [PATCH v3 7/8] acpi: bus: Set _OSC for diverse core support Srinivas Pandruvada
2016-09-08 22:26 ` [PATCH v3 8/8] cpufreq: intel_pstate: Use CPPC to get max performance Srinivas Pandruvada
2016-09-10 16:22 ` Thomas Gleixner
2016-09-12 22:34 ` Srinivas Pandruvada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1473373615-51427-1-git-send-email-srinivas.pandruvada@linux.intel.com \
--to=srinivas.pandruvada@linux.intel.com \
--cc=bp@suse.de \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=tglx@linutronix.de \
--cc=tim.c.chen@linux.intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.