LCU14 511- LSK Update and Overview
---------------------------------------------------
Speaker: Mark Brown
Date: September 19, 2014
---------------------------------------------------
★ Session Summary ★
This session will provide a summary of the current status of LSK, an introduction for those not familiar with it and provide a forum for discussion of the status and direction with members.
---------------------------------------------------
★ Resources ★
Zerista: http://lcu14.zerista.com/event/member/137799
Google Event: https://plus.google.com/u/0/events/cam2mbcm3nqe62seuv4fv7i891s
Video: https://www.youtube.com/watch?v=PwbpAz12L9k&list=UUIVqQKxCyQLJS6xvSmfndLA
Etherpad: http://pad.linaro.org/p/lcu14-511
---------------------------------------------------
★ Event Details ★
Linaro Connect USA - #LCU14
September 15-19th, 2014
Hyatt Regency San Francisco Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
3. LSK Goals - Value proposition
● Share engineering effort for backports of common features
○ Get key new features into production sooner
○ Focus on shared engineering, provide a basis for vendor kernels
○ One place to get many backports
connect.linaro.org
■ Synchronize with a single tree
■ Pre-integrated
● Provide QA and support
● Help feed experience from productization back into development
4. connect.linaro.org
Current status
● Core, Android and RT flavours
○ Android & RT flavours created to minimise disruption
● v3.10 on release
○ New features until at least 14.12
○ Support until 15.12
● v3.14 on release
○ New features until at least 15.08
○ Support until 16.08
5. connect.linaro.org
ARMv7/ARMv8 features
● Latest LTS release bug fixes from kernel.org
● big.LITTLE GTS (v3.10 only) and IKS (ARMv7 only)
● Power efficient workqueues
● Gator
● Android enhancements
● TC2 support
● Big endian
● pinctrl groups
● Compressed audio framework enhancements
● Warning fixes
6. ARMv8 features
● Goal is to backport essentially all ARMv8 development upstream:
connect.linaro.org
○ CPU idle
○ CPU suspend
○ CPU topology
○ Cryptography extensions
○ Huge pages
○ ftrace
○ KGDB
○ perf
○ CMA
○ Optimisations, fixes, smaller features
7. connect.linaro.org
Expected workflow for users
1. Feature request discussed with LSK team
a. Contact LSK team and/or member services to discuss any requirements
2. Feature approved for inclusion
3. Feature team/LSK team prepares LSK backport
4. LSK team reviews and merges backport
5. BSP or other user team merges LSK into their kernel
a. Either tagged release or any other commit on the branch
b. Branch is fast forward only, easily merged with git merge
6. End system integrator merges or uses BSP kernel
8. connect.linaro.org
Workflow for LSK team
● Get code prepared for each LSK release
○ Ideally prepared by people working directly in this area (eg, ARM for HMP)
○ Otherwise LSK team monitors upstream development and backports
○ v3.10 and v3.14 maintained in parallel, same updates to each
● Review code
○ LSK team in conjunction with relevant domain experts within Linaro
● Submit code for pre-merge testing
○ Duplicates LSK CI loops
○ Reduces risk of regressions in main LSK tree
● Merge code into main LSK
○ Code then goes into regular testing and will be part of routine release
11. More about Linaro Connect: connect.linaro.org
Linaro members: www.linaro.org/members
More about Linaro: www.linaro.org/about/
12. connect.linaro.org
big.LITTLE IKS
● Included in upstream kernel since v3.14
● Simplest possible support
○ No scheduler modifications
○ Pretends big cores are higher frequency states for little cores
○ When little cores are too busy switches off little cores and moves all tasks to
big cores
● Peak performance limited to big cores only
● Not optimal for all workloads
○ eg, one compute intensive task and several low intensity tasks may be
optimally supported with one big core and one little core
13. connect.linaro.org
big.LITTLE GTS
● Direct scheduler modification for big.LITTLE
● Able to use big cores and little cores simultaneously
14. ● Scheduler modifications for big.LITTLE being developed upstream
● Still in development, not yet ready for production
● Large changes for power management throughout the scheduler
connect.linaro.org
big.LITTLE EAS/EES
15. connect.linaro.org
ARMv8 features
● ARMv8 support upstream still in development
○ Key features like cpuidle still not merged for v3.17
● Urgent need for production
● LSK team monitors upstream and backports as much as possible
● Key out of tree features are also included
16. connect.linaro.org
LSK feature branches
● Feature backported base on LTS kernel v3.10/v3.14
○ Feature branch can be used separately
○ User can select needed features for specific board.
● Goal is complete feature parity, if support exists
● i.e. features in LSK v3.10 are also in LSK v3.14