74

HKG15-104: What is Linaro working on - core development lightning talks

  • Upload
    linaro

  • View
    277

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HKG15-104: What is Linaro working on - core development lightning talks
Page 2: HKG15-104: What is Linaro working on - core development lightning talks

Presented by

Date

Event

What is Linaro working on?

Core Development GroupCore Engineering

Linaro

Core Development developers

Monday Feb 9th

Linaro Connect HKG15

Page 3: HKG15-104: What is Linaro working on - core development lightning talks

Session 1 & 2: table of contents

1. Kernel WG1.1. Android Upstreaming / John Stultz1.2. U-Boot64 / Linus Walleij1.3. ARMv8 / Deepak Saxena1.4. ARM32/arm-soc maint. / Arnd

Bergmann1.5. Coresight / Mathieu Poirier1.6. MMC / Ulf Hansson

2. Security WG2.1. OP-TEE / Joakim Bech

1. Power Management WG1.1. SoC idling / Ulf Hansson1.2. EAS development / Mike Turquette

& Alex Shi (LSK)

2. Virtualization2.1. KVM/Christoffer Dall2.2. QEMU/Peter Maydell2.3. XEN / Julien Grall & Parth Dixit

3. Other topics3.1. jic - the green-on-black JIRA

client/Serge Broslavsky (PjM)3.2. Testing in upstream board farms /

Kevin Hilman (PMWG)

Page 4: HKG15-104: What is Linaro working on - core development lightning talks

Session 1

Page 5: HKG15-104: What is Linaro working on - core development lightning talks

Linaro Kernel WG.Core Development Group

Page 6: HKG15-104: What is Linaro working on - core development lightning talks

Android Upstreaming

by John Stultz

Page 7: HKG15-104: What is Linaro working on - core development lightning talks

1. Daniel’s FIQ work getting very close to merging2. Portions of Kiran’s wakeup_source for usb phys’s

merged3. Lollipop using mempressure notifiers for low-memory-

killer, and deprecated logger & alarm-dev4. Binder out of staging, and officially merged in 3.195. Number of fixes from Linaro merged into Google’s

android-3.14 common.git tree.

Recent accomplishments

Page 8: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress

1. Finishing FIQ merging & FIQ/NMI-like functionality for ARMv8.

2. Pushing “Avoid kdb on panic” patch.3. Research into running libbinder over kdbus.4. Android Gadget conversion to ConfigFS Gadget.5. Constraint aware allocator - cenalloc.6. Groundwork for ADF/KMS effort.

Page 9: HKG15-104: What is Linaro working on - core development lightning talks

Next steps

1. Continue pushing work in progress2. Deprecate staging code that’s recently been obsoleted3. Establish form-factor platforms for upstream

development and validation4. Continue following Google development kernels for

linux-linaro and LSK5. Continue working closely with Google devs &

community

Page 10: HKG15-104: What is Linaro working on - core development lightning talks

U-Boot64by Linus Walleij

Page 11: HKG15-104: What is Linaro working on - core development lightning talks

Recent accomplishments

1. Repair semihosting code broken in Linaro GCC 4.9-2014.09 (merged upstream)

2. Volunteer to maintain semihosting for FVP and base models

3. Convert Versatile Express 64bit family to Kconfig (and generic board)

4. Add support for the ARM Juno Development Platform and demonstrate on real hardware

Page 12: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress

1. Upstream Kconfig changes.2. Upstream fix for single CPU entry on multi-cluster

machine MPIDR register workaround.3. Upstream Juno Development Platform support.4. Investigating PSCI dependencies - just stubs in U-Boot

this should go into ARM Trusted Firmware instead we think.

Page 13: HKG15-104: What is Linaro working on - core development lightning talks

Next steps

1. Ethernet boot support on the Juno Development Platform.

2. Persistent Storage (flash, SD card, internal USB disk) boot support on the Juno Development Platform.

3. More 64bit hardware support for U-Boot!4. Compressed images - handled by the boot loader, make

sure it works.5. Access memory >4GB.

Page 14: HKG15-104: What is Linaro working on - core development lightning talks

ARMv8by Deepak Saxena

Page 15: HKG15-104: What is Linaro working on - core development lightning talks

Work Summary

1. Audit/seccmp merged

2. Kprobes v5 patches posted

3. Uprobes work started

4. Kexec v7 patches posted

5. Validating KGDB functionality

Page 16: HKG15-104: What is Linaro working on - core development lightning talks

ARM32 / arm-soc

maintainershipby Arnd Bergmann

Page 17: HKG15-104: What is Linaro working on - core development lightning talks

arm-soc statistics

patchescontributorsbranchesinsertionsdeletionsdts sizemach-* size

v3.18914158108

26,8959,748

217,687437,771

v3.19-rc41,138

175132

39,17637,514

236,220411,268

v3.17977157103

41,38444,571

205,366441,565

v3.161,253

156126

51,76020,372

185,021472,115

Page 18: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress

1. Complete armv6/armv7 multiplatform support: realview, msm, mmp, s3c64xx, dove, shmobile

2. Complete DT conversion:imx, mmp, omap3, orion5x, realview, s3c24xx, s3c64xx

3. 64-bit time_t (see separate session)4. More general PCI implementation5. More general IOMMU implementation

Page 19: HKG15-104: What is Linaro working on - core development lightning talks

Coresightby Mathieu Poirier

Page 20: HKG15-104: What is Linaro working on - core development lightning talks

Recent accomplishments1. Framework and drivers accepted in the 3.19 merge

window.

2. Support for 2 new platforms: vexpress-TC2 and D01.

3. Power management awareness currently under review

on the mailing lists.

4. Integration of basic CoreSight testing in LAVA CI loop.

5. Work on ARMv8 is well underway.

Page 21: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress

1. ETMv4 driver support for ARMv8.

2. Juno support for CoreSight.

3. STM32/500 driver development.

4. Integration of CoreSight with Perf.

5. Back porting of the framework to LSK3.10/3.14.

6. Stand alone decoding library (ARM Ltd.).

Page 22: HKG15-104: What is Linaro working on - core development lightning talks

Next steps

1. Upstream support for CoreSight on ARMv8.

2. Upstream ETMv4 and STM32/500 drivers.

3. Continue and finish integration with Perf.

4. Commence integration of CoreSight with Ftrace.

5. Integrate with trace decoding library from ARM Ltd.

Page 23: HKG15-104: What is Linaro working on - core development lightning talks

MMCby Ulf Hansson

Page 24: HKG15-104: What is Linaro working on - core development lightning talks

Recent accomplishments

MMC core:1. Refactoring, modernization and consolidation.2. Bugfixes and various improvements.3. Extended hardware reset support (3.20).4. DT subnode parsing, mainly for embedded SDIO devices (3.20).5. MMC Power Sequences (3.20) - finally!

MMC host:1. Increased amount of patches. From bugfixes to new features.2. Support for 11 new MMC controllers (3.17 to 3.19).

Page 25: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress

MMC core:1. Periodic re-tuning for HS200, HS400 and SDR104.2. Extended support for MMC Power Sequences.3. Proposal of using dynamic frequency scaling.4. Improvement of how to select I/O voltage level.5. eMMC 5.x. Command Queuing, FFU, PSA etc.6. SD 4.0, UHS II support.

MMC host:1. New host driver for Fujitsu SDHCI controller.2. Bug fixes and new features.

Page 26: HKG15-104: What is Linaro working on - core development lightning talks

Next steps

1. Refactoring, modernization and consolidation.

2. eMMC 5.x, SD 4.0.

3. Fix MMC Erase/Discard bugs!

4. Expect increased focus on SDIO.

Page 27: HKG15-104: What is Linaro working on - core development lightning talks

Questions?

Page 28: HKG15-104: What is Linaro working on - core development lightning talks

Linaro Security WG.Core Development Group

Page 29: HKG15-104: What is Linaro working on - core development lightning talks

OP-TEEby Joakim Bech

Page 30: HKG15-104: What is Linaro working on - core development lightning talks

Recent accomplishments

1. Porting OP-TEE: ARM Juno, STM Orly/Cannes,

Allwinner A80, QEMU, FVP

2. Cryptographic abstraction layer in Trusted OS

3. GlobalPlatform - Secure Elements

4. ARMv8-A crypto extensions (SHA1, SHA256)

5. xtest - OP-TEE’s main test framework

Page 31: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress

1. Upstreaming OP-TEE’s Linux kernel device driver

2. GlobalPlatform Internal API v1.1

3. Enhancing Secure Storage

4. AArch64 support in the Trusted OS.

Page 32: HKG15-104: What is Linaro working on - core development lightning talks

Next steps

1. GlobalPlatform Trusted UI v1.1

2. Multiple TA support

3. Signature verification of Trusted Applications

4. Enhancing testing

Page 33: HKG15-104: What is Linaro working on - core development lightning talks

Questions?

Page 34: HKG15-104: What is Linaro working on - core development lightning talks

Session 2

Page 35: HKG15-104: What is Linaro working on - core development lightning talks

Linaro Power

Management WG.Core Development Group

Page 36: HKG15-104: What is Linaro working on - core development lightning talks

SoC idlingby Ulf Hansson

Page 37: HKG15-104: What is Linaro working on - core development lightning talks

Recent accomplishmentsProvide a reference runtime/system PM implementation on

a SOC:

● Address corner cases in the PM core frameworks.

● Modernizing and improving the generic PM domain (aka

genpd).

● Exynos and Ux500 SoCs use genpd and now serve as

references.

Page 38: HKG15-104: What is Linaro working on - core development lightning talks

Work in progressCPUIdle is about the CPU, not clusters!

● Today: CPU cores/clusters handled separately.

○ “Coupled-idle states”: OMAP4, Tegra.

○ MCPM.

○ SoC specific backend drivers.

● Tomorrow: SMP/HMP-awareness in ‘Idle’ core

○ CPUs, clusters, shared caches and interconnects.

○ Reduces SoC-specific code.

Page 39: HKG15-104: What is Linaro working on - core development lightning talks

Next steps (1/2)SMP/HMP-aware Idle core● The idea: Use genpd!

○ Supported by various PM maintainers.

○ genpd: can group devices into domains and can be nested.

○ genpd: is build on runtime PM, domains power off/on at runtime PM suspend/resume.

○ Group CPU devices into a genpd to model a CPU cluster domain.

○ One genpd for each cluster.

● The challenges:○ Redesign genpd’s locking mechanism to deal with atomic context.

○ Optimize genpd to minimize latencies.

○ Integrate the genpd based solution with existing SoC-specific solutions.

○ Investigate use of scheduler topology information (introduced by EAS)

Page 40: HKG15-104: What is Linaro working on - core development lightning talks

Next steps (2/2)

Long-term goals

● Simplify deployment of runtime/system PM support.

○ Reduce duplicated code for drivers to implement runtime PM and

suspend PM.

○ Decrease number of PM_* Kconfig options.

Page 41: HKG15-104: What is Linaro working on - core development lightning talks

EAS develby Mike Turquette (PMWG)

Page 42: HKG15-104: What is Linaro working on - core development lightning talks

Recent accomplishments● Merged CFS infrastructure & improvements:

○ git log [email protected] kernel/sched/

● Tighter CPUidle and scheduler integration.

● Proved idle interrupt prediction can improve.

● Scheduler-driven CPU frequency selection proof of

concept.

● Improved collaboration between developers hacking on

EAS.

Page 43: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress● CPU capacity rework awaiting review on LKML

● Improved interrupt prediction undergoing testing○ Evolving from per-task to per-device tracking

● Experiments combining task placement with frequency

selection

● Idle task behavior unification across archs

● SMP bringup, hotplugging and cpuidle suspend method

unification

Page 44: HKG15-104: What is Linaro working on - core development lightning talks

Next steps1. Characterize power & performance

1.1. Backports will make it easier for members to run

their own benchmarks and measurements

2. Iterate patches on LKML

3. Discuss it with you this week

4. Merge it upstream!

Page 45: HKG15-104: What is Linaro working on - core development lightning talks

EAS backportingby Alex Shi (LSK)

Page 46: HKG15-104: What is Linaro working on - core development lightning talks

Recent accomplishments1. Backport CPUIdle/sched changes to 3.10 LTS

a. CPU topology changes (Vincent)

b. bL cpuidle, cpuidle-aware scheduler (Daniel, Nico)

c. ARM’s Energy Model (Juri - ARM)

d. many scheduler optimizations

2. Not backported:a. NUMA scheduling

b. CPUFreq changes

Page 47: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress

1. Smoke testing in LAVA CI on Pandaboard/TC2

2. EAS-specific functional testing

Page 48: HKG15-104: What is Linaro working on - core development lightning talks

Next steps

1. Establish a cadence to maintain the backport tree.

2. Backport new development (sched-cpufreq, sched-idle).

3. Help member company merge the EAS enhanced LTS

with own platform support and incorporate their

feedback into further development.

Page 49: HKG15-104: What is Linaro working on - core development lightning talks

Questions?

Page 50: HKG15-104: What is Linaro working on - core development lightning talks

Linaro Virtualization

Eng. TeamCore Development Group

Page 51: HKG15-104: What is Linaro working on - core development lightning talks

KVMby Christoffer Dall

Page 52: HKG15-104: What is Linaro working on - core development lightning talks

Recent accomplishments

1. Guest UEFI support (from LEG)

2. Guest migration

3. Dirty Page Logging

4. GICv3 support

5. Fixes and improvements

Page 53: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress

1. VM Spec compliance (UEFI, PCIe, hotplug, ACPI)

2. Guest Debug and gdbstub support

3. Platform device passthrough

4. IRQ Forwarding

5. Performance Monitors Unit (PMU) support

Page 54: HKG15-104: What is Linaro working on - core development lightning talks

Next steps

1. Improved test infrastructure

2. Performance Measurements and optimizations

3. Cross CPU-type support (big.LITTLE systems)

4. PCIe passthrough

5. Leveraging ARMv8.1 improvements

Page 55: HKG15-104: What is Linaro working on - core development lightning talks

QEMUby Peter Maydell

Page 56: HKG15-104: What is Linaro working on - core development lightning talks

Recent accomplishments

1. Android Emulator (64-bit support, VirtIO, much closer to

upstream QEMU than the “classic” emulator).

2. TrustZone emulation (32-bit).

3. Emulation of debug architecture (breakpoints,

watchpoints, single stepping).

Page 57: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress

1. TCG multithreading: better performance when

emulating SMP guests (work by GreenSocs and others).

2. PCI/PCIe support within VMs (by SUSE).

3. Further TrustZone work: AArch64, peripherals (GIC)

Page 58: HKG15-104: What is Linaro working on - core development lightning talks

Next steps

1. Support the in-kernel GICv3 provided by KVM

2. Fully emulated GICv3

3. Android Emulator with OPTEE prototype

4. Threading support for user-mode emulation

Page 59: HKG15-104: What is Linaro working on - core development lightning talks

XENby Julien Grall and Parth Dixit

Page 60: HKG15-104: What is Linaro working on - core development lightning talks

Recent accomplishments

1. AMD Seattle Support

2. Prototype of Xen on ACPI

3. UEFI booting

4. Xen 4.5 released in January

Page 61: HKG15-104: What is Linaro working on - core development lightning talks

Work in progress

1. Xen on ACPI upstreaming

2. ACPI tables for SMMU (IORT), Xen, and more

3. In-guest UEFI

4. Platform device passthrough

5. Big Endian guest support

6. Improving support for existing ARM SoCs

Page 62: HKG15-104: What is Linaro working on - core development lightning talks

Next steps

1. PCI Passthrough

2. GICv2m

3. Save/restore and live-migration

4. 64k pages guests support

5. Performance Monitors and Debug Architecture Support

Page 63: HKG15-104: What is Linaro working on - core development lightning talks

Questions?

Page 64: HKG15-104: What is Linaro working on - core development lightning talks

Other topicsCore Development Group

Page 65: HKG15-104: What is Linaro working on - core development lightning talks

jic

the “green-on-black”

JIRA client

by Serge Broslavsky

Page 66: HKG15-104: What is Linaro working on - core development lightning talks

jic | recent accomplishments

1. CLI porcelain mode

2. Basic issue creation / editing support

3. Keyring support for storing passwords

(first contribution from outside Linaro!)

4. Offline mode

5. TBA

Page 67: HKG15-104: What is Linaro working on - core development lightning talks

jic | work in progress

1. Full support for issue creation / editing

2. Reporting framework

3. Templating framework for output

4. Proper porcelain command set (at HKG15)

5. Engineer’s weekly report (at HKG15)

Page 68: HKG15-104: What is Linaro working on - core development lightning talks

jic | next steps

1. Proper documentation: man pages, wiki

2. Reports according to different

stakeholder’s needs

3. Issue lists

4. Offline editing

5. TBA

Page 69: HKG15-104: What is Linaro working on - core development lightning talks

Board farm for

upstream kernel Testingby Kevin Hilman

Page 70: HKG15-104: What is Linaro working on - core development lightning talks

Background

● Lots of ARM platforms, boards● Easy to break other platforms● Not much upstream testing● Needed early detection and

warning of problems● Target audience: ARM platform

maintainers

Page 71: HKG15-104: What is Linaro working on - core development lightning talks

What works● Personal board farm: 50 boards, 19 unique

SoC types (and growing)

● automatic build/boot testing for upstream

kernel trees

● 140+ boot tests per kernel build

● report summary to mailing list: [email protected]

● bisect/report regressions to developers,

maintainers

Page 72: HKG15-104: What is Linaro working on - core development lightning talks

In Progress and Coming Soon● Collaboration with Linaro LAVA Team

● Pushing results into database

● Web dashboard/API for results, log, searches○ See: LAVA Team “Upstream Kernel CI” talk

● Support for multiple board farms

● running/reporting for arbitrary test suites○ in-kernel: OF_SELFTEST, kselftest; external: LKP, LTP, etc.

● Advanced search/query

● Automated bisection of build and boot failures

Page 73: HKG15-104: What is Linaro working on - core development lightning talks

Questions?

Page 74: HKG15-104: What is Linaro working on - core development lightning talks

Presented by

Date

Event

What is Linaro working on?

Core Development GroupCore Engineering

Linaro

Core Development developers

Monday Feb 9th

Linaro Connect HKG15