project treble -...

Post on 26-Apr-2018

223 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Project Treble

September 28, 2017

Iliyan Malchev

What and Why

1

What is the problem? Why do we care to solve

it?

Userspace

2

What is the solution?

What is the timeframe?

Kernel

3

Tackling kernel fragmentation

Results

4

Some stats and early results

I Agenda

What's the Problem?

https://developer.android.com/about/dashboards/index.html

I Userspace

I Kernel

3.4

3.1

3.10

3.18

Why Care?

Faster Device Launches on Latest Google SoC OEM users

Easier Device Upgrades Google

Better Quality Google SoC OEM users

BEtter Security (esp. Kernel) Google SoC OEM users

I Who Wants What

The Life of an Android Device Launch

I Start with AOSP

...

I Add Functionality/Customizations

...

I Adapt to SoC and Device

"HALs"

"Ext"AOSP

I Reality

● Short product cycles

● No Single Android OS to update

○ Large AOSP Delta

○ SoC Support not universal

● Certification: Carrier, Regulatory, CTS

● QA

● Support (Call Center), OTA Infrastructure, etc...

"HALs"

ExtAOSP

I Difficult means Expensive

How to Fix it?

Architectural changesAndroid Platform

Operational changesPartner outreach

Compatibility changesPartner outreach

UpstreamingAndroid Platform

I Project Treble

ExtAOSP "HALs"

ExtAOSP

I Solve SoC Support

kernel driverdriverdriver driverdriverlibc

other libraries

activity

Media Server

System Server

Camera Server

Audio Server

Surface Flinger

OMX

...

...camera

HALaudio HAL gralloc

hwcsensor

HAL etc

ART

API java.* android.*

GL

HAL

Binder

I Android Architecture Pre-O

kernel driverdriverdriver driverdriverlibc

other libraries

activity

Media Server

System Server

Camera Server

Audio Server

Surface Flinger

OMX

...

...camera HAL

audio HAL

gralloc hwc

sensor HAL etc

ART

API java.* android.*

GL

HAL

Binder

Binder

I Android Architecture Post-O

I The Vendor Test Suite

CTS

VTS

Android Framework

VINTF Implementation

General System Image

VINTF Implementation

CTS on AOSP

<Before Oreo> <Android Oreo>

HAL Kernel Library

"HALs"

ExtAOSP

I Tackle the AOSP Delta

Q3 ACP ALL HANDS

Multiple implementations of same functionality

Drive convergence between AOSP and Framework Variants

Forum involving major contributors to AOSP

Feature review, approval, (re)engineering

Non-US regulatory requirementsExtensions to Bluetooth, Telephony, Dialer, SysUI, Home Screen

I Upstreaming

"HALs"

ExtAOSPExtAOSP

● Compliance○ Vendor Test Suite (VTS): tests for HALs

■ must pass VTS for approval○ must pass CTS on AOSP

● All OEM Devices launched with O○ Must implement Treble HALs○ Including older SoCs that will be used by OEMs to launch O based

devices

Must pass Vendor Test Suite (VTS; tests for HALs) for approval

All OEM devices launched with O must implement Treble HALs

Must pass CTS on AOSP

Q3 ACP ALL HANDS

This includes older SoCs that will be used by OEMs to launch O-based devices

I Compatibility Requirements

How Fast to Fix it?

● Release uptake is 6 months to a year

○ Mostly just flagships

● Solving the problem forwards

● Customer pull is strong

● Attention Span outside and within

● Addressing fragmentation is a MUST

I The One-Release Fix

The Kernel

Existing LTS is not Enough

Device Kernel

Stable Long Term Support

Android Common

SoC Kernel

Device Release

Device Update

Clone Merge Cherry-Pick

Device Update

Device Update

Device Update

Announcing 6-year LTS

Device Kernel

Stable Long Term Support

Android Common

SoC Kernel

Device Release

Device Update

Clone Merge Cherry-Pick

Device Update

Device Update

Device Update

Stats

health/1.0

thermal/1.0

oemlock/1.0

gnss/1.0

automotive/vehicle/2.0

automotive/vehicle/2.1

automotive/evs/1.0

audio/2.0

audio/effect/2.0

audio/common/2.0

vibrator/1.1

vibrator/1.0

tv/cec/1.0

tv/input/1.0

bluetooth/1.0

usb/1.1

usb/1.0

gatekeeper/1.0

wifi/offload/1.0

wifi/supplicant/1.0

wifi/1.0

radio/1.1

radio/1.0

radio/deprecated/1.0

renderscript/1.0

weaver/1.0

light/2.0

keymaster/3.0

soundtrigger/2.0

ir/1.0

boot/1.0

graphics/allocator/2.0

graphics/bufferqueue/1.0

graphics/mapper/2.0

graphics/common/1.0

graphics/composer/2.1

drm/1.0

nfc/1.0

biometrics/fingerprint/2.1

contexthub/1.0

broadcastradio/1.1

broadcastradio/1.0

power/1.1

power/1.0

vr/1.0

sensors/1.0

configstore/1.1

configstore/1.0

media/omx/1.0

media/1.0

memtrack/1.0

dumpstate/1.0

camera/metadata/3.2

camera/provider/2.4

camera/device/3.2

camera/device/1.0

camera/common/1.0

tetheroffload/control/1.0

tetheroffload/config/1.0

I 60 Subsystem Conversions

Authors

Files

300

3000Commits

20kLOC

~1M

I Code Stats

Qualcomm, Mediatek,

Samsung/LSI,

Huawei/HiSilicon, Motorola,

Sony, LG

Partners

San Diego

Taipei

Seoul

Onsite Teams

7

3 Direct on-site visits

Partner Summits

Android Bootcamp

Executive Sync-ups

Forums

+ 3 Qualcomm SoCs

1 Mediatek SoC

1 HiSilicon SoC

1 Exynos SoC

SONY

Huawei

Samsung

Oreo Launches / Upgrades

3/1

I Partner Outreach

Next Steps

Clone Merge Cherry-Pick

Linux 4.9.y

Android Common 4.9

msm-4.9(Common SoC

Kernel)

MSMXXXX based device 1

MSMXXXX based device 2

MSMXXXX based device 3

Linux 4.9.y xLTSbackports

exynos-4.9(Common SoC

Kernel)

mediatek-4.9(Common SoC

Kernel)

I Kernel Unification

I There's More To Do

● Continued work with SoC Vendors

● Continued work on Kernel Unification

● Expanding test coverage

● Bringing the ecosystem together with Linaro

END

top related