Overview

Energy Aware Scheduling (EAS) is an enhancement to Linux power management, placing CPU power control directly under the Linux scheduler.  When enabled, EAS will use the task load and a CPU ‘Energy Model’ to select the most efficient CPU to run on, taking advantage of power/performance of Arm big.LITTLE and Arm DynamIQ based systems.

EAS is merged into upstream Linux as of kernel v5.0 and later.

Information on Energy Aware Scheduling.

EAS Structure

EAS consists of a number of different components which bring together energy efficient task placement under the Linux scheduler.

A detailed introduction to EAS is available from Linaro: http://www.linaro.org/blog/energy-aware-scheduling-eas-progress-update/

EAS enhancement and testing still continues in two codelines:

EAS mainline development

As of January-2019, the majority of EAS is now merged into mainline Linux, so the mainline development codeline is used to test against mainline Linux, and track in-development EAS enhancements.

For full details on the upstream development please see EAS Mainline Development

Product development codeline

For Android use, EAS is available as part of AOSP Common Kernel. This contains a full implementation with additional feature backports, and is the recommended release for product deployment based on Arm big.LITTLE or DynamIQ technology.

Arm is targeting closer alignment between AOSP Common Kernel and mainline Linux, with one major release per year when a new Common Kernel is created.  For full details please see Contributing to EAS.

All work on the product codeline is now being done on AOSP Common Kernel, and development takes place in the open. Experimental proposed patches will be submitted to AOSP gerrit for code reviews, and developers should subscribe to eas-dev@lists.linaro.org mailing list for email discussions.

EAS News

May 2019

March 2019

  • Linux 5.0 is released with EAS now in mainline
February 2019

December 2018

November 2018

June 2018

April 2018

  • EAS Product Codeline r1.5 released for AOSP Common Kernel 4.9 and 4.14
  • Scheduler enhancements including EAS discussed at OSPM2018 in Pisa, Italy
  • Linaro Connect HKG18-501 presentation on EAS

Resources

Mailing lists

AOSP Common Kernel (includes EAS):

EAS validation & Linux Scheduler Tracing and Debug tools