Prototyping CPU Idle on Renesas RCar-H2 Platform

Purpose

The purpose of this page is document how to enable basic CPU Idle on Renesas platforms (RCar-H2 being the primary target). CPUIdle is a standard Linux power management framework aimed at reducing CPU power consumption when it is idle.

Known bugs/limitations

  • CPUIdle support is done on the CA7 cluster only. CA15 cluster is out of the scope. Also, as the CA7 CPU core wakeup through arch timer is not 100% functional on this platform, CMT timer was used for the purpose of this prototype.
  • Trying to use the the arch timer will stuck the scheduler due to the lack of working wakeup events for the CA7.
  Note: Disabling arch timer here will probably have an impact on all
  the other SH platforms supported in multiplatform config.
  A "smarter" approach, i.e dynamic, will have to be used if the arch
  timer cannot be fixed.

How To

The patches to enable CPUIdle for the CA7 cluster are available here.

All these changes are available in this http://git.baylibre.com/pub/bcousson/linux-sh/log/?h=cpuidle.

  Note: The target_residency and exit_latency will have to be refined
  based on power measurement and performance impact on differents
  key use cases.

Results

Power measurement with and without CPUIlde enabled:

TBD. Doing accurate measurement will require modifying the Lager board as explained here : Enabling Power Measurements on Renesas H2 Lager Board

First results will be posted as soon as the board is modified.

renesas_r-car_h2/cpuidle.txt · Last modified: 2014/09/21 20:35 by bcousson
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki