Linaro is working on several kernel and software development projects across multiple working groups. In the Kernel WG, work includes upstreaming Android changes, porting U-Boot to 64-bit architectures, and improvements to ARMv8, ARM32, and coresight. The Power Management WG is focusing on SoC idling, energy awareness scheduling, and backporting changes. The Security WG is working on OP-TEE and the Virtualization team is improving KVM, QEMU and Xen. Other work includes the 'jic' JIRA client and upstream kernel testing on ARM board farms.
CHEAP Call Girls in Pushp Vihar (-DELHI )đ 9953056974đ(=)/CALL GIRLS SERVICE
Â
Linaro Working on Kernel, Security, Power Management and Virtualization
1.
2. Presented by
Date
Event
What is Linaro working on?
Core Development Group
Core Engineering
Linaro
Core Development developers
Monday Feb 9th
Linaro Connect HKG15
3. Session 1 & 2: table of contents
1. Kernel WG
1.1. Android Upstreaming / John Stultz
1.2. U-Boot64 / Linus Walleij
1.3. ARMv8 / Deepak Saxena
1.4. ARM32/arm-soc maint. / Arnd
Bergmann
1.5. Coresight / Mathieu Poirier
1.6. MMC / Ulf Hansson
2. Security WG
2.1. OP-TEE / Joakim Bech
1. Power Management WG
1.1. SoC idling / Ulf Hansson
1.2. EAS development / Mike Turquette
& Alex Shi (LSK)
2. Virtualization
2.1. KVM/Christoffer Dall
2.2. QEMU/Peter Maydell
2.3. XEN / Julien Grall & Parth Dixit
3. Other topics
3.1. jic - the green-on-black JIRA
client/Serge Broslavsky (PjM)
3.2. Testing in upstream board farms /
Kevin Hilman (PMWG)
7. 1. Danielâs FIQ work getting very close to merging
2. Portions of Kiranâs wakeup_source for usb physâs
merged
3. Lollipop using mempressure notifiers for low-memory-
killer, and deprecated logger & alarm-dev
4. Binder out of staging, and officially merged in 3.19
5. Number of fixes from Linaro merged into Googleâs
android-3.14 common.git tree.
Recent accomplishments
8. 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.
9. Next steps
1. Continue pushing work in progress
2. Deprecate staging code thatâs recently been obsoleted
3. Establish form-factor platforms for upstream
development and validation
4. Continue following Google development kernels for
linux-linaro and LSK
5. Continue working closely with Google devs &
community
11. 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
12. 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.
13. 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.
20. Recent accomplishments
1. 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.
21. 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.).
22. 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.
24. 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).
25. 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.
26. 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.
30. 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
31. 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.
32. Next steps
1. GlobalPlatform Trusted UI v1.1
2. Multiple TA support
3. Signature verification of Trusted Applications
4. Enhancing testing
37. Recent accomplishments
Provide 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.
38. Work in progress
CPUIdle 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.
39. 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)
40. 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.
42. Recent accomplishments
â Merged CFS infrastructure & improvements:
â git log --author=@linaro.org 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.
43. 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
44. Next steps
1. 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!
46. Recent accomplishments
1. 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
47. Work in progress
1. Smoke testing in LAVA CI on Pandaboard/TC2
2. EAS-specific functional testing
48. 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.
52. Recent accomplishments
1. Guest UEFI support (from LEG)
2. Guest migration
3. Dirty Page Logging
4. GICv3 support
5. Fixes and improvements
53. 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
54. 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
56. 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).
57. 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)
58. 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
60. Recent accomplishments
1. AMD Seattle Support
2. Prototype of Xen on ACPI
3. UEFI booting
4. Xen 4.5 released in January
61. 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
62. 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
66. 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
67. 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)
68. 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
70. 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
71. 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: kernel-build-
reports@lists.linaro.org
â bisect/report regressions to developers,
maintainers
72. 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
74. Presented by
Date
Event
What is Linaro working on?
Core Development Group
Core Engineering
Linaro
Core Development developers
Monday Feb 9th
Linaro Connect HKG15