+ All Categories
Home > Documents > Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and...

Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and...

Date post: 28-May-2020
Category:
Upload: others
View: 33 times
Download: 0 times
Share this document with a friend
19
Presented by Date Event Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16
Transcript
Page 1: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

Presented by

Date

Event

Kernel and bootloader consolidation and upstreaming

Amit Kucheria

BKK16-505 March 11, 2016

Linaro Connect BKK16

Page 2: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

Reference Platform Kernel

● RPK used in Reference Platform Build

● Unified support for 96boards and other “boards of interest”

● Merges code from Landing Teams and segment groups

● linux-linaro rebranded?

Page 3: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate
Page 4: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate
Page 5: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

RPK: The Good

● 4.4● Single config*● Mix of UEFI/ACPI and DT platforms● Enablement of several platforms of interest:

○ CE (Hikey, DragonBoard 410c)○ EE (D02, Overdrive, APM X-Gene, HP Proliant

m400)

Page 6: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

RPK: The Bad

● 4.4 + 828 out-of-tree patches● Many drivers not modular● Several kernelci.org warnings and failures

Page 7: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

RPK: The Ugly

● Terrible maintainer● Many* patches never posted to the list● Several hacks to

○ Get around assumptions made about boot architecture (DT vs. ACPI) - 2

○ Get older HW revs to work - 6○ Workarounds for GIC issues - 2○ Workaround buggy firmware - 10

Page 8: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

Patch-inclusion policy

● Documented on the wiki● Demonstrate upstream effort● Drivers depending on binary blobs to be

outside RPK○ DKMS?

Page 9: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

Path into RPK is through LKML

RPK delta

Mainline

A Patchset merged upstream triggers a refresh of the pending patches

new revision (e.g. v2)

Topicbranches

NACK!

A

4.4 4.5 4.6 4.7 4.8 4.x

new feature

Same version (stuck in review)

Feature Development

B Won’t carry patches not going upstream w/o adequate justification (see Policy)

B

Page 10: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

RPK: Statistics (1 / 3)

● Total patches on top of 4.4: 828 (--no-merges)

● CE:○ 427 (DB410c + 4 other platforms) + 64 (Hikey)

● Enterprise:○ 256 (D02) + 10 (Seattle + X-Gene) + 6 Hacks

● Remainder: configs, reverts, more hacks● Roughly 50% under active review*

Page 11: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

RPK: Statistics (2 / 3)

$ git diff --stat v4.4..

682 files changed, 131006 insertions(+), 3912 deletions(-)

Page 12: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

RPK: Statistics (3 / 3)

$ git diff --dirstat=cumulative v4.4.. 4.6% arch/arm64/boot/dts/ 5.1% arch/arm64/configs/

11.5% arch/arm64/ 14.0% arch/

3.2% drivers/gpu/drm/ 5.9% drivers/iommu/qcom/

6.6% drivers/iommu/ 6.6% drivers/media/platform/msm/vidc/hfi/

14.6% drivers/media/platform/msm/vidc/ 14.6% drivers/media/platform/msm/

14.6% drivers/media/platform/ 4.5% drivers/scsi/hisi_sas/

4.6% drivers/scsi/ 11.1% drivers/soc/qcom/msm_bus/

13.5% drivers/soc/qcom/ 62.8% drivers/

6.6% include/ 3.9% sound/soc/codecs/

7.7% sound/soc/qcom/qdsp6/ 10.3% sound/soc/qcom/

14.2% sound/soc/ 14.2% sound/

Page 13: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

What the RPK isn’t

● Not a replacement for Linus Torvalds’ tree● Not the mother of all BSP kernels● Not a LTS* kernel

Page 14: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

What the RPK is

● A pre-integration tree similar to linux-next that:○ Keeps platforms of interest to Linaro members

working on as close to tip as feasible○ Allows engineers to focus on feature development

instead of HW enablement○ Shows the delta with mainline to get a platform

functional

Page 15: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

RPB: Kernel version roadmap

● 16.06○ Stay on 4.4

■ Bugfixes■ Stabilisation■ linaro-android?

○ Devel branch on 4.5● 16.09

○ Switch to 4.5 (4.6?)

Page 16: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

Bootloaders...

● Unified Bootloader trees○ UEFI/EDK2

■ Get a reference implementation into OpenPlatformPkg

■ D02, Hikey, Overdrive○ U-Boot

■ Allows testing of Big-Endian kernels

Page 17: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

16.06 targets

● Fix bugs (please file bugs!)○ Make drivers modular○ Pass kernelci.org

● Config fragments● Unified Bootloader trees● Improving developer experience

○ speed up edit-compile-deploy (ideas?)

Page 18: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

What else?

● git-notes for tagging patches (statistics)● Make the integration scriptable similar to

linux-next● Compare against vanilla mainline builds?

Page 19: Kernel and bootloader consolidation and upstreaming · Kernel and bootloader consolidation and upstreaming Amit Kucheria BKK16-505 March 11, 2016 Linaro Connect BKK16. ... Demonstrate

Discussion and Questions


Recommended