In Kernel Switcher: Upstreaming Status and
How-To
web: www.linaro.org
Presenter: Nicolas Pitre & Mathieu Poirier
nicolas.p...
Slide 2
Status on the Upstreaming Process
● Core Multi-Cluster Power Management (MCPM) code:
○ Prerequisite infrastructure...
Slide 2
Status on the Upstreaming Process (2)
● Versatile Express RTSM:
○ Includes a driver for the CCI400.
○ Upstream mer...
Slide 2
Status on the Upstreaming Process (3)
● Versatile Express TC2:
○ Includes a driver for SPC.
○ Patches published fo...
Slide 2
Status on the Upstreaming Process (4)
● MPIDR linearisation:
○ Prerequisite infrastructure for IKS and cpuidle on ...
Slide 2
Status on the Upstreaming Process (5)
● In-Kernel Switcher (IKS):
○ Hard prerequisites will be merged in v3.11-rc1...
Slide 2
Porting IKS to Your Platform
● Requirements:
○ MCPM backend for your platform.
○ big.LITTLE cpufreq glue driver fo...
Slide 2
Tuning IKS on Your Platform
● All tuning is done at the CPUFREQ governor level.
● IKS will work with any governor ...
Slide 2
Start with the A15 configuration
● Start benchmarking with a system where only the A15s
are configured and A7s swi...
Slide 2
Tuning the Interactive Governor (1)
● The "target_loads"
○ Set frequency based on desired CPU load.
○ Very likely ...
Slide 2
Tuning the Interactive Governor (2)
● The "hispeeds" - probably the second thing to look at.
● Circumvent "target_...
Slide 2
Tuning the Interactive Governor (3)
● The "timer_rate": How often is a re-evaluation of the
system load performed ...
Slide 2
Tuning the Interactive Governor (4)
● Other settings we haven't talked about:
○ timer_slack
○ boost
○ boostpulse
○...
Slide 3
Question and Comments ?
www.linaro.org email: contactus@linaro.org
Nicolas Pitre
Dave Martin
Viresh Kumar
Mathieu ...
Upcoming SlideShare
Loading in …5
×

LCE13: big.LITTLE IKS upstreaming status review

683 views
445 views

Published on

Resource: LCE13
Name: big.LITTLE IKS upstreaming status review
Date: 10-07-2013
Speaker:
Video: https://www.youtube.com/watch?v=Myq93YB0BMc

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
683
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LCE13: big.LITTLE IKS upstreaming status review

  1. 1. In Kernel Switcher: Upstreaming Status and How-To web: www.linaro.org Presenter: Nicolas Pitre & Mathieu Poirier nicolas.pitre@linaro.org mathieu.poirier@linaro.org
  2. 2. Slide 2 Status on the Upstreaming Process ● Core Multi-Cluster Power Management (MCPM) code: ○ Prerequisite infrastructure for IKS and GTS (HMP) ○ LWN coverage: http://lwn.net/Articles/539082 ○ Merged Upstream in v3.10-rc1 ● Platform specific MCPM backends: ○ Versatile Express RTSM ○ Versatile Express TC2 ○ Generic PSCI backend www.linaro.org email: contactus@linaro.org
  3. 3. Slide 2 Status on the Upstreaming Process (2) ● Versatile Express RTSM: ○ Includes a driver for the CCI400. ○ Upstream merging queued for v3.11-rc1 via ARM- SOC. ● Generic PSCI backend: ○ Patches by Achin Gupta @ ARM. ○ Currently available in the Linaro kernel tree. www.linaro.org email: contactus@linaro.org
  4. 4. Slide 2 Status on the Upstreaming Process (3) ● Versatile Express TC2: ○ Includes a driver for SPC. ○ Patches published for the v3.11 merge window. ○ Major rework on the SPC driver needed after public review. ● Others ??? www.linaro.org email: contactus@linaro.org
  5. 5. Slide 2 Status on the Upstreaming Process (4) ● MPIDR linearisation: ○ Prerequisite infrastructure for IKS and cpuidle on big. LITTLE. ○ Patches by Lorenzo Pieralisi @ ARM. ○ Upstream merging queued for v3.11-rc1 via RMK's devel-stable tree. ● big.LITTLE cpufreq core driver: ○ Merged upstream in v3.10-rc1. ○ Requires "glue" drivers for specific platforms. ○ TC2 glue driver has SPC driver as prerequisite. www.linaro.org email: contactus@linaro.org
  6. 6. Slide 2 Status on the Upstreaming Process (5) ● In-Kernel Switcher (IKS): ○ Hard prerequisites will be merged in v3.11-rc1. ○ Patches to be posted for public review after v3.11-rc1 is out. www.linaro.org email: contactus@linaro.org
  7. 7. Slide 2 Porting IKS to Your Platform ● Requirements: ○ MCPM backend for your platform. ○ big.LITTLE cpufreq glue driver for your platform. ● IKS porting is not different from HMP porting: ○ They share the same low level infrastructure. ○ IKS and HMP solutions are made of generic code on top. www.linaro.org email: contactus@linaro.org
  8. 8. Slide 2 Tuning IKS on Your Platform ● All tuning is done at the CPUFREQ governor level. ● IKS will work with any governor for as long as they can register with the CPUFREQ core. ● Linaro's tuning and optimization efforts have been concentrating on the interactive governor. ● Feel free to add your own governor or make modifications to the existing ones. www.linaro.org email: contactus@linaro.org
  9. 9. Slide 2 Start with the A15 configuration ● Start benchmarking with a system where only the A15s are configured and A7s switched off. ● An A15 configuration is the best the platform can do ! ● From there power and performance numbers can be used for IKS benchmarking. ● How do you know if the A15 configuration is tuned optimally ? ○ A: If IKS starts yielding better numbers then the A15 configuration needs to be optimized further. ○ It is an iterative process. www.linaro.org email: contactus@linaro.org
  10. 10. Slide 2 Tuning the Interactive Governor (1) ● The "target_loads" ○ Set frequency based on desired CPU load. ○ Very likely the first thing to set. ○ Can be hard to understand at first glance. ● Examples: ○ 85 ○ 85 1000000:97 ○ 85 800000:92 1000000:97 www.linaro.org email: contactus@linaro.org
  11. 11. Slide 2 Tuning the Interactive Governor (2) ● The "hispeeds" - probably the second thing to look at. ● Circumvent "target_loads" to give better response. ● Three tuneables: ○ go_hispeed_load ○ go_hispeed_freq ○ go_hispeed_delay ● Don't forget "min_sample_time" ! www.linaro.org email: contactus@linaro.org
  12. 12. Slide 2 Tuning the Interactive Governor (3) ● The "timer_rate": How often is a re-evaluation of the system load performed (when not idle). ● One condition (not mandatory): timer_rate <= min(above_hispeed_delay, min_samble_time); ● If the above is not respected the system is not tuned optimally, leading to a loss of performance. www.linaro.org email: contactus@linaro.org
  13. 13. Slide 2 Tuning the Interactive Governor (4) ● Other settings we haven't talked about: ○ timer_slack ○ boost ○ boostpulse ○ boostpulse_duration ● Minsung Kim introduced the possibility to associate a "above_hispeed_delay" with a frequency range in: "f4ad161 cpufreq: interactive: allow arbitrary speed / delay mappings" www.linaro.org email: contactus@linaro.org
  14. 14. Slide 3 Question and Comments ? www.linaro.org email: contactus@linaro.org Nicolas Pitre Dave Martin Viresh Kumar Mathieu Poirier Amit Kucheria Serge Broslavsky Vishal Bhoj Naresh Kamboju Ryan Harkin John (Tixy) Medhurst Many others from ARM Ltd. Contributors to this project:

×