We’re delighted to announce that the Linaro Technical Steering Committee has approved the release of the big.LITTLE in-kernel switcher (IKS) code to the public.
So here it is:
Branch big.LITTLE-IKS-snapshot of git://git.linaro.org/landing-teams/working/arm/kernel.git
Although this is a snapshot of our latest IKS code, it still needs some minor tidying before it is submitted upstream. So please consider the above as a temporary branch for people to look and play with, and not a branch that we’ll keep stable and maintain.
This code was also developed for and tested on the VExpress TC2 development platform. An MCPM backend and possibly a special cpufreq clock driver are required for this code to be usable on other platforms.
The switcher concept is discussed here: http://lwn.net/Articles/481055/
Porting documentation is available here: https://wiki.linaro.org/projects/big.LITTLE.MP/Big.Little.Switcher/Docs/porting-guide
The switcher code description is available here (slightly out of date): https://wiki.linaro.org/projects/big.LITTLE.MP/Big.Little.Switcher/Docs/in-kernel-code
And a review of the MCPM layer upon which IKS and HMP rely: http://lwn.net/Articles/539082/
The core MCPM patches are queued for inclusion into the v3.10 mainline kernel. The MCPM backend for TC2 and the IKS patches will tentatively be submitted for v3.11.