SlideShare a Scribd company logo
1 of 46
Download to read offline
Finished and upcoming projects in LMG
LMG
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Agenda
● Finished and Upcoming projects in LMG - Bernhard
Rosenkranzer
● HiKey in AOSP Update - John Stultz
ENGINEERS AND DEVICES
WORKING TOGETHER
Projects finished between BKK16 and LAS16 1/2
● Memory allocator analysis
● File System analysis
● LCR updates: Switching to AOSP N and more
● gcc 6.2 support in AOSP M
● Updated clang toolchains for building AOSP N
● Increased upstream participation
● SystemUI carrier status display upstreaming
● Low-RAM LCR build to keep low-RAM patches working
● Clang-built kernel to build, boot and run Android
● OP-TEE integration in M-LCRs
● Contributing to chromium.org to : build 64bit browser for Android with clang for ARMv8, fix simd access for 64bit ARM
neon clang compilation, update libjpeg_turbo to 1.4.90, update Zlib to version 1.2.8
ENGINEERS AND DEVICES
WORKING TOGETHER
Projects finished between BKK16 and LAS16 2/2
● ART instruction scheduling and improved instruction selection
● ART JIT investigation
● ART 32-bit performance investigation
● Hikey enablement on AOSP
● Open Graphics stack for Android enablement
● Continual rebase of AOSP patches on TIP kernel
● Continued nexus device enablement with mainline
● Implemented GBM/miniGBM based gralloc
● Upstreamed dmabuf support in Mesa Android EGL
ENGINEERS AND DEVICES
WORKING TOGETHER
Memory allocator analysis
● Primary focus: Reduce memory usage on low-memory devices
● Malloc implementations investigated: jemalloc, dlmalloc, nedmalloc, tcmalloc,
musl malloc, TLSF, lockless allocator
● Memory analysis briefing
○ https://docs.google.com/document/d/15ycUEuplwZs0LPXMVc6yKRaLOnflY8QE2mA7kkEoa_o
/edit#heading=h.z9n368sk0eai
● Challenges
○ Porting of atomic routines for ARM 64-bit platform
○ name mangling issues
○ C99 warnings
○ Wrapper/dummy calls for bionic integration (e.g. malloc_usable_size, malloc_disable, mallinfo
etc.)
○ Other runtime issues
○ Benchmark porting - (tlsf-test, t-test)
○ Fragmentation analysis script
ENGINEERS AND DEVICES
WORKING TOGETHER
Memory allocator analysis
Summary
● tcmalloc, jemalloc wins for multi-threaded apps and run time
performance (good amount of small pages available at
runtime)
● static size reduction for libc is improved with nedmalloc and
tlsf
● jemalloc-svelte does not have good stand compare to
jemalloc & tcmalloc
● Support issue with nedmalloc - no more support.
● Lockless allocator - under private license
Note: Rank graph is generated based on relative performance. For real numbers kindly refer to memory analysis document
ENGINEERS AND DEVICES
WORKING TOGETHER
File System analysis
● Filesystems investigated: ext4, btrfs, f2fs, nilfs, squashfs
● Variants: encryption enabled/disabled, compression off/zlib/lz4
● File system analysis briefing (ongoing changes)
○ https://docs.google.com/a/linaro.org/document/d/1jam-PlV9iefnOqujzYWZoY8U9d9GnmPwda
3MItxsPsU/edit?usp=sharing
● Challenges
○ Fixed build support for f2fs image generation (core.mk & image size alignment to 4096)
○ Fixed sparse raw image generation issue
■ Need to use for btrfs and nilfs
○ Image generation for btrfs, nilfs, squashfs etc..
○ Benchmark porting - bonnie, iozone
○ Partition overload scripts and long run impact scripts
ENGINEERS AND DEVICES
WORKING TOGETHER
File System analysis - Summary
● All relative rank graphs is available at
○ https://docs.google.com/a/linaro.org/spreadsheets/d/1ctknBBVWUjrIZwS8OQcb5L8gCd
CLuzktJgx-K_CMgt0/edit?usp=sharing
● F2FS/Ext4 Wins for
○ Small File Access (4K-1MB) + DB Access with disk data integrity
○ Potential use case: Industrial monitoring system, Consumer Phone, Health monitoring
system
● NilFS outperforms for SQLite operations
○ Only cache here is, metadata/data gets updated later once get written to log file ( kind of
extended version of fdatasync over fsync)
○ Can be useful for power backed system and continuous log recording of small data (upto
4K) with good amount of storage
○ It quickly fill up the space if GC is not called in between. On 5GB space, it just went out of
space for 1000 runs of iozone test. Do not recommended for “Embedded System”
● SquashFS : Good buffered I/O read
○ Can be used for read only partitions ( system libraries and ro database)
ENGINEERS AND DEVICES
WORKING TOGETHER
File System analysis - Summary
● BTRFS : Large file + large RAM
○ LZO - Outperforms for block write/read operations ( > 4MB)
○ Potential use case:
■ In flight entertainment system ( mostly for movies/songs/images etc..)
■ Portable streaming & recording devices ( should be power backed up)
○ Low lights:
■ High cpu utilization ( more no# of threads)
■ Not recommended where small i/o transaction with sync is expected
■ Risk on power failure recovery
● Hybrid use of different file systems on multiple partitions can improve overall
performance e.g.
○ large read/write (movies, extra download) on BTRFS partition
○ All small read/write (docs, images) on f2fs/ext4 partition
○ All database access insert/update/delete on f2fs/nilfs partition
● Note: Yet to perform impact on file system as it ages
ENGINEERS AND DEVICES
WORKING TOGETHER
LCR updates
● Monthly Marshmallow based releases for HiKey and Juno
○ Always released on time and functional
○ Continuously improved automated validation
○ With help from B&B team, migrated to ci.linaro.org
○ More features added into release, like change logs, patch details, mirror support for build scripts
● OP-TEE integration in M-LCR together with fully automated validation
● Switch to EAS Kernel for juno builds
● Updated to android-7.0.0_r6 tag while transitioning to Android Nougat
● Rebased existing M-LCR patches/optimizations from Marshmallow to Nougat
● New hardware support: X15
ENGINEERS AND DEVICES
WORKING TOGETHER
gcc 6.2 support in AOSP M
● AOSP M can now be built with gcc 6.2 and binutils 2.27
● So far 2 out of 5 patches accepted upstream: Not a priority because AOSP will
never officially support gcc > 4.9 (N and on: Only clang supported for compiling
userland), but willing to take patches that don’t break things (especially for
problems that might also show up in clang 4.1)
ENGINEERS AND DEVICES
WORKING TOGETHER
Updated clang toolchains for AOSP N
● We can build AOSP N/master with clang versions based on upstream master
● Work in progress on creating CI builds to see performance impacts
● Continuously adapting userspace to make sure it remains compatible (e.g. new
warnings being added while most of AOSP is built with -Werror and new
assertion failures detected) - report bugs or upstream fixes when possible
ENGINEERS AND DEVICES
WORKING TOGETHER
Increased upstream participation
● Every member of the AOSP Engineering team is tasked to do 10+ upstream
reviews every month
● Continuing to update projects in external/ to newer upstream versions
● So far, limited acceptance upstream - problem getting enough time scheduled
because of assignees being pulled off LMG tasks
● Upstream work getting more and more important:
○ Android One-style devices with a fixed /system partition becoming more common
○ Monthly security updates (and the heat some vendors are taking over not applying them in time)
force people to stick closer to relevant upstream repositories
ENGINEERS AND DEVICES
WORKING TOGETHER
SystemUI carrier status display upstreaming
● SystemUI patch offering more options for carrier status display created by
CodeAurora/Qualcomm:
○ Rebased to AOSP master
○ Cleaned up minor issues (unnecessary API changes)
○ Rebased again after AOSP N changes got merged
● Submitted upstream, not yet accepted
ENGINEERS AND DEVICES
WORKING TOGETHER
ION
● Goal: move Ion as a self-contained framework into drivers/android
○ Most likely userspace APIs at first
● Ongoing work
○ Clean up ioctls - Almost done
○ Platform/devicetree - Done, add more platforms
○ Cache coherency - Two steps forward, 1.5 steps back
HiKey in AOSP Update
John Stultz
<john.stultz@linaro.org>
Continuing Collaboration
Working closely with folks at Google.
Submitting changes directly to AOSP Gerrit.
ENGINEERS AND DEVICES
WORKING TOGETHER
New Features Added
Updated to Nougat
v4.4-stable based kernel
(Staying current w/ -stable)
Suspend/Resume support
Interactive cpufreq gov
powerHAL integration
HDMI & USB Audio
Display panel mezzanine
Bootloader source integration
Abootimg support in UEFI
Unique serial no setup
“fastboot boot <kernel>”
USB Tethering
Overlay_Manager
FIQ_debugger*
* FIQ bouncing from secure mode not yet
implemented, so really this is an irq_debugger
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Energy Aware Scheduler Integration
Working through and documenting how to integrate
EAS code (core, schedtune, schedfreq gov) in with
AOSP & PowerHAL
Working with other Linaro teams to benchmark and
measure power and performance impact
Collaboration between Linaro, ARM and Google got
EAS merged in android-4.4 and integrated into HiKey!
ENGINEERS
AND DEVICES
WORKING
TOGETHER
OP-TEE kernel driver from Security Group merged into
HiKey AOSP kernel
OP-TEE support in bootloader to follow
OP-TEE Integration
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Overlay Manager
How to handle and support various hardware
configurations in AOSP
Driver which switches between DeviceTree overlay
objects in the DeviceTree source based on boot
argument
Submitted upstream to lkml by Dmitry
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Now, installing the latest AOSP master build is easy!
https://developers.google.com/android/nexus/images-preview#hikey
# Set the J15 3-4 jumper
$ unzip <filename>
$ cd <filename>
$ ./flashall.sh /dev/ttyUSBn
# Unset J15 3-4 jumper & reboot
That’s it! Really!
Factory Images
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Common.git AOSP Efforts
Deep review of common/android-4.4 tree
Sending reverts for obsolete features
Appended dtb support (Image-dtb)
Integrated upstream timerslack_ns support
-stable merged android-4.4.y branches
EAS forward ported from android-3.18 to android-4.4
Prep-work for next LTS android-4.9 tree
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Not AOSP, but HiKey is also used in Rob Herring’s
generic build project, which supports multiple devices
(and architectures) out of a single build directory using
Kconfig
Generic Build Integration
ENGINEERS AND DEVICES
WORKING TOGETHER
TODOs
● Op-tee & Trusty coexisting in AOSP
● A/B updates partitioning & switching
● Moving forward to next 4.9 LTS kernel
● Work with Mali devs to avoid custom tweaks for Hikey
● Memory reductions to help 1GB variant
● Fixing bugs as they crop up.
ENGINEERS AND DEVICES
WORKING TOGETHER
HiKey in AOSP
(Apr 2016)
Following upstream kernels
v3.10 Released
June 2013
Current Nexus
devices
(Oct 2015)
v3.18 Released
Dec 2014
v4.4 Released
Jan 2016
Latest flagship
devices
(Mar 2016)
Why this is useful...
2 years, 4 months
1 year, 3 months
4 months
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Regressions fixed in android-4.4
● Two separate xt_qtaguid bugs
● USB eth adapter regression
● USB Configfs gadget fixes
● PTP null pointer deref fix
● Missing cpuset allow_attach hooks
● Performance regression in cgroup migration
● UID routing enum collision
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Regressions found and fixed upstream
● /sys/module/mmcblk path ABI change
● iptables alignment breakage
● wlcore_op_get_expected_throughput null ptr
dereference
● Missing CAP_WAKE_ALARM in AOSP userspace
● fib_rules UID routing collision w/ upstream
ENGINEERS AND DEVICES
WORKING TOGETHER
HiKey Upstreaming Status
4.6:
PMIC
thermal
4.7:
eMMC
uSD
USB
Wifi
DRM display
4.8:
power-key
RTC
media-reset
adv7533
4.9 (queued):
K3DMA fixes
HDMI dts
Reboot-reason dts,
Pstore dts
Kconfig fix
ENGINEERS AND DEVICES
WORKING TOGETHER
HiKey Upstreaming TODOs (~50 patches )
DTS changes (Pstore, reboot-reason, DSI/HDMI output)
K3DMA fixes
ADV7511 HDMI codec support
HI6210 I2S driver
High-speed uSD support
USB speed autonegotiation
Upstream Bluetooth solution for AOSP
Mali driver (we can dream!) [~15 patches]
ENGINEERS AND DEVICES
WORKING TOGETHER
Differing focuses
AOSP
(& HW Vendors)
Upstream
Kernel
Community
v3.10 kernels
2M+ line vendor patchsets
Fully enabled devices
Maximum power efficiency
High performance & low latency graphics
Shipping to consumers in 6-12mo
Long term maintainability
Only has to work on this one device
Can’t hurt functionality on other devices
arm/aarch64
X86_64
(and everything else!)
Linus HEAD,
-next or
bust
Maximum throughput / capacity
Server
workloads
One binary kernel runs on all devices
AOSP
(& HW Vendors)
Upstream
Kernel
Community
Working
against
Latest -LTS
&
Linus HEAD
aarch64
Creating an overlap with HiKey
Affordable &
available devices
Fully enabled
device
Allows for
validation of
latest
upstream
kernel using
AOSP
userspace
Thanks!
Questions?
<john.stultz@linaro.org>
Thank You
#LAS16
For further information: www.linaro.org
LAS16 keynotes and videos on: connect.linaro.org
ART Team Update
Serban Constantinescu
Linaro ART Team
linaro-art@linaro.org
ENGINEERS AND DEVICES
WORKING TOGETHER
What do we work on?
Linaro ART Tip
● Improve ART for the next Android Release (currently Android O)
● Patches merged into the upstream AOSP Master
Linaro ART Stable
● Improve ART for the current Android Release (currently Android N)
● Patches merged into the Linaro Optimised Repository (LOR)
● ART Optimisations bundled together with other changes into the Members -
Linaro Confectionary Release (M-LCR)
37
ENGINEERS AND DEVICES
WORKING TOGETHER
What do we work on?
38
AOSP Master
Android N
Android N
Developer Preview
Q3 2016Q2 2016
All patches merged upstream
will be part of the next Android Release (Android O)
Cherry picking and bug fixes
Only bug fixes
and security updates
E.g: 7.0_r1, 7.0_r2, ...
Android N Members-LCR
ART Performance Improvements
& other goodies
ENGINEERS AND DEVICES
WORKING TOGETHER
Meet the Team
● ARM Assignees:
○ Alexandre Rames
○ Anton Kirilov
○ Artem Serov
○ Julien Duraj
○ Scott Wakeling
○ Xueliang Zhong
○ Serban Constantinescu
● You can find us @ linaro-art@linaro.org
● Thank you all for your contributions!
39
● Spreadtrum Assignees:
○ Donghui Bai
○ Tim Zhang
● MediaTek Assignees:
○ Tatwai Chong
ENGINEERS AND DEVICES
WORKING TOGETHER
Work that was done since LCA16?
● Performance:
○ Various improvements for Android Master
■ ~ 66 patches
○ Various improvements for Linaro M-LCR
■ ~ 46 patches
● Infrastructure:
○ ART Testing:
■ ~ 60 benchmarks
○ ART Reports:
■ Automated monitoring of upstream and per patch improvements
○ Continuous Integration:
■ Considerably improved stability and reproducibility
● Investigations:
○ 32 bit Performance Investigation 1
○ JIT Investigation 1
40
1- Documents available for Linaro Members
ENGINEERS AND DEVICES
WORKING TOGETHER
Work that will be done by LCA17?
● Android Master:
○ ARM based VIXL32 ART backends
○ Focus on 32bit performance
○ Various other improvements
● Android N LCR:
○ Various performance improvements
● Infrastructure:
○ Various ARM and competitor platforms
41
ENGINEERS AND DEVICES
WORKING TOGETHER
ART Performance Improvements
42
Android N vs. Android M 1
Benchmark Mode Improvement
Benchmarksgame
32 bit 18.90%
64 bit 21.32%
Caffeinemark
32 bit 17.13%
64 bit 25.36%
Stanford
32 bit 22.08%
64 bit 31.08%
Linaro M-LCR vs. Android M 1
Benchmark Mode Improvement
Benchmarksgame
32 bit 4.12%
64 bit 8.01%
Caffeinemark
32 bit 18.32%
64 bit 31.13%
Stanford
32 bit 14.91%
64 bit 29.43%
1 - Benchmark numbers have been collected on A53 Nexus 5X.
ENGINEERS AND DEVICES
WORKING TOGETHER
ART Talks @ LCU16
● ART Talks:
○ ART JIT in Android N
○ VIXL: A Programmatic Assembler and Disassembler for AArch32
○ Android Runtime Performance Analysis
43
Thank You
#LAS16
For further information: www.linaro.org
LAS16 keynotes and videos on: connect.linaro.org
ENGINEERS AND DEVICES
WORKING TOGETHER
Coming up next
● Building AOSP with clang master in CI (and stabilize it, including kernel)
● Open Source benchmarks
● Continue increasing upstream participation
● Continue LCR improvements
● Continue to reduce AOSP kernel patch backlog
● Continue HAL Consolidation efforts
● Next LTS kernel support for Android, and into AOSP
● …
● More projects being decided on during Connect
Thank You
#LAS16
For further information: www.linaro.org
LAS16 keynotes and videos on: connect.linaro.org

More Related Content

What's hot

LAS16-109: LAS16-109: The status quo and the future of 96Boards
LAS16-109: LAS16-109: The status quo and the future of 96BoardsLAS16-109: LAS16-109: The status quo and the future of 96Boards
LAS16-109: LAS16-109: The status quo and the future of 96BoardsLinaro
 
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLinaro
 
LAS16-106: GNU Toolchain Development Lifecycle
LAS16-106: GNU Toolchain Development LifecycleLAS16-106: GNU Toolchain Development Lifecycle
LAS16-106: GNU Toolchain Development LifecycleLinaro
 
LAS16-400: Mini Conference 3 AOSP (Session 1)
LAS16-400: Mini Conference 3 AOSP (Session 1)LAS16-400: Mini Conference 3 AOSP (Session 1)
LAS16-400: Mini Conference 3 AOSP (Session 1)Linaro
 
LAS16-305: Smart City Big Data Visualization on 96Boards
LAS16-305: Smart City Big Data Visualization on 96BoardsLAS16-305: Smart City Big Data Visualization on 96Boards
LAS16-305: Smart City Big Data Visualization on 96BoardsLinaro
 
LAS16-405:OpenDataPlane: Software Defined Dataplane leader
LAS16-405:OpenDataPlane: Software Defined Dataplane leaderLAS16-405:OpenDataPlane: Software Defined Dataplane leader
LAS16-405:OpenDataPlane: Software Defined Dataplane leaderLinaro
 
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLinaro
 
LAS16-310: Introducing the first 96Boards TV Platform: Poplar by Hisilicon
LAS16-310: Introducing the first 96Boards TV Platform: Poplar by HisiliconLAS16-310: Introducing the first 96Boards TV Platform: Poplar by Hisilicon
LAS16-310: Introducing the first 96Boards TV Platform: Poplar by HisiliconLinaro
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
 
BUD17-310: Introducing LLDB for linux on Arm and AArch64
BUD17-310: Introducing LLDB for linux on Arm and AArch64 BUD17-310: Introducing LLDB for linux on Arm and AArch64
BUD17-310: Introducing LLDB for linux on Arm and AArch64 Linaro
 
LAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLinaro
 
BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr Linaro
 
LAS16-TR03: Upstreaming 201
LAS16-TR03: Upstreaming 201LAS16-TR03: Upstreaming 201
LAS16-TR03: Upstreaming 201Linaro
 
LAS16-403: GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel AwarenessLAS16-403: GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel AwarenessLinaro
 
BKK16-213 Where's the Hardware?
BKK16-213 Where's the Hardware?BKK16-213 Where's the Hardware?
BKK16-213 Where's the Hardware?Linaro
 
Ostech war story using mainline linux for an android tv bsp
Ostech  war story  using mainline linux  for an android tv bspOstech  war story  using mainline linux  for an android tv bsp
Ostech war story using mainline linux for an android tv bspNeil Armstrong
 
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation GuideBKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation GuideLinaro
 
LAS16-200: Firmware summit - Tianocore Progress and Status
LAS16-200:  Firmware summit - Tianocore Progress and StatusLAS16-200:  Firmware summit - Tianocore Progress and Status
LAS16-200: Firmware summit - Tianocore Progress and StatusLinaro
 
George Grey Welcome Keynote - BUD17-100K1
George Grey Welcome Keynote - BUD17-100K1George Grey Welcome Keynote - BUD17-100K1
George Grey Welcome Keynote - BUD17-100K1Linaro
 
LAS16-211: Using LAVA V2 for advanced KVM testing
LAS16-211: Using LAVA V2 for advanced KVM testingLAS16-211: Using LAVA V2 for advanced KVM testing
LAS16-211: Using LAVA V2 for advanced KVM testingLinaro
 

What's hot (20)

LAS16-109: LAS16-109: The status quo and the future of 96Boards
LAS16-109: LAS16-109: The status quo and the future of 96BoardsLAS16-109: LAS16-109: The status quo and the future of 96Boards
LAS16-109: LAS16-109: The status quo and the future of 96Boards
 
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
 
LAS16-106: GNU Toolchain Development Lifecycle
LAS16-106: GNU Toolchain Development LifecycleLAS16-106: GNU Toolchain Development Lifecycle
LAS16-106: GNU Toolchain Development Lifecycle
 
LAS16-400: Mini Conference 3 AOSP (Session 1)
LAS16-400: Mini Conference 3 AOSP (Session 1)LAS16-400: Mini Conference 3 AOSP (Session 1)
LAS16-400: Mini Conference 3 AOSP (Session 1)
 
LAS16-305: Smart City Big Data Visualization on 96Boards
LAS16-305: Smart City Big Data Visualization on 96BoardsLAS16-305: Smart City Big Data Visualization on 96Boards
LAS16-305: Smart City Big Data Visualization on 96Boards
 
LAS16-405:OpenDataPlane: Software Defined Dataplane leader
LAS16-405:OpenDataPlane: Software Defined Dataplane leaderLAS16-405:OpenDataPlane: Software Defined Dataplane leader
LAS16-405:OpenDataPlane: Software Defined Dataplane leader
 
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
 
LAS16-310: Introducing the first 96Boards TV Platform: Poplar by Hisilicon
LAS16-310: Introducing the first 96Boards TV Platform: Poplar by HisiliconLAS16-310: Introducing the first 96Boards TV Platform: Poplar by Hisilicon
LAS16-310: Introducing the first 96Boards TV Platform: Poplar by Hisilicon
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
BUD17-310: Introducing LLDB for linux on Arm and AArch64
BUD17-310: Introducing LLDB for linux on Arm and AArch64 BUD17-310: Introducing LLDB for linux on Arm and AArch64
BUD17-310: Introducing LLDB for linux on Arm and AArch64
 
LAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoT
 
BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr
 
LAS16-TR03: Upstreaming 201
LAS16-TR03: Upstreaming 201LAS16-TR03: Upstreaming 201
LAS16-TR03: Upstreaming 201
 
LAS16-403: GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel AwarenessLAS16-403: GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel Awareness
 
BKK16-213 Where's the Hardware?
BKK16-213 Where's the Hardware?BKK16-213 Where's the Hardware?
BKK16-213 Where's the Hardware?
 
Ostech war story using mainline linux for an android tv bsp
Ostech  war story  using mainline linux  for an android tv bspOstech  war story  using mainline linux  for an android tv bsp
Ostech war story using mainline linux for an android tv bsp
 
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation GuideBKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
 
LAS16-200: Firmware summit - Tianocore Progress and Status
LAS16-200:  Firmware summit - Tianocore Progress and StatusLAS16-200:  Firmware summit - Tianocore Progress and Status
LAS16-200: Firmware summit - Tianocore Progress and Status
 
George Grey Welcome Keynote - BUD17-100K1
George Grey Welcome Keynote - BUD17-100K1George Grey Welcome Keynote - BUD17-100K1
George Grey Welcome Keynote - BUD17-100K1
 
LAS16-211: Using LAVA V2 for advanced KVM testing
LAS16-211: Using LAVA V2 for advanced KVM testingLAS16-211: Using LAVA V2 for advanced KVM testing
LAS16-211: Using LAVA V2 for advanced KVM testing
 

Similar to LAS16-209: Finished and Upcoming Projects in LMG

LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205Linaro
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...Linaro
 
LCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLinaro
 
The RULE project: efficient computing for all GNU/Linux users
The RULE project: efficient computing for all GNU/Linux usersThe RULE project: efficient computing for all GNU/Linux users
The RULE project: efficient computing for all GNU/Linux usersMarco Fioretti
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesMender.io
 
Lessons Learned: Using Concourse In Production
Lessons Learned: Using Concourse In ProductionLessons Learned: Using Concourse In Production
Lessons Learned: Using Concourse In ProductionShingo Omura
 
LCA14: LCA14-403: Importance of migrating external projects used in Android t...
LCA14: LCA14-403: Importance of migrating external projects used in Android t...LCA14: LCA14-403: Importance of migrating external projects used in Android t...
LCA14: LCA14-403: Importance of migrating external projects used in Android t...Linaro
 
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...Neil Armstrong
 
Tips for Installing Cognos Analytics 11.2.1x
Tips for Installing Cognos Analytics 11.2.1xTips for Installing Cognos Analytics 11.2.1x
Tips for Installing Cognos Analytics 11.2.1xSenturus
 
Hadoop Meetup Jan 2019 - Overview of Ozone
Hadoop Meetup Jan 2019 - Overview of OzoneHadoop Meetup Jan 2019 - Overview of Ozone
Hadoop Meetup Jan 2019 - Overview of OzoneErik Krogen
 
BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience Linaro
 
Ubuntu phone engineering
Ubuntu phone engineeringUbuntu phone engineering
Ubuntu phone engineeringRex Tsai
 
TFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU DelegatesTFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU DelegatesKoan-Sin Tan
 
Post Mortem Debugging in Embedded Linux Systems
Post Mortem Debugging in Embedded Linux Systems Post Mortem Debugging in Embedded Linux Systems
Post Mortem Debugging in Embedded Linux Systems GlobalLogic Ukraine
 
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan BaljevicUnix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan BaljevicCircling Cycle
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primerDrew Fustini
 

Similar to LAS16-209: Finished and Upcoming Projects in LMG (20)

LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
 
LCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at Linaro
 
The RULE project: efficient computing for all GNU/Linux users
The RULE project: efficient computing for all GNU/Linux usersThe RULE project: efficient computing for all GNU/Linux users
The RULE project: efficient computing for all GNU/Linux users
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
 
Lessons Learned: Using Concourse In Production
Lessons Learned: Using Concourse In ProductionLessons Learned: Using Concourse In Production
Lessons Learned: Using Concourse In Production
 
LCA14: LCA14-403: Importance of migrating external projects used in Android t...
LCA14: LCA14-403: Importance of migrating external projects used in Android t...LCA14: LCA14-403: Importance of migrating external projects used in Android t...
LCA14: LCA14-403: Importance of migrating external projects used in Android t...
 
oSSN19 - openSUSE on ARM
oSSN19 - openSUSE on ARMoSSN19 - openSUSE on ARM
oSSN19 - openSUSE on ARM
 
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
 
Tips for Installing Cognos Analytics 11.2.1x
Tips for Installing Cognos Analytics 11.2.1xTips for Installing Cognos Analytics 11.2.1x
Tips for Installing Cognos Analytics 11.2.1x
 
Hadoop Meetup Jan 2019 - Overview of Ozone
Hadoop Meetup Jan 2019 - Overview of OzoneHadoop Meetup Jan 2019 - Overview of Ozone
Hadoop Meetup Jan 2019 - Overview of Ozone
 
BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience
 
Ubuntu phone engineering
Ubuntu phone engineeringUbuntu phone engineering
Ubuntu phone engineering
 
TFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU DelegatesTFLite NNAPI and GPU Delegates
TFLite NNAPI and GPU Delegates
 
Vpm
VpmVpm
Vpm
 
Post Mortem Debugging in Embedded Linux Systems
Post Mortem Debugging in Embedded Linux Systems Post Mortem Debugging in Embedded Linux Systems
Post Mortem Debugging in Embedded Linux Systems
 
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan BaljevicUnix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
Unix and Linux Common Boot Disk Disaster Recovery Tools by Dusan Baljevic
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primer
 

More from Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloLinaro
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaLinaro
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraLinaro
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaLinaro
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018Linaro
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Linaro
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteLinaro
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopLinaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allLinaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorLinaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMULinaro
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MLinaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootLinaro
 

More from Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

LAS16-209: Finished and Upcoming Projects in LMG

  • 1. Finished and upcoming projects in LMG LMG
  • 2. ENGINEERS AND DEVICES WORKING TOGETHER Agenda ● Finished and Upcoming projects in LMG - Bernhard Rosenkranzer ● HiKey in AOSP Update - John Stultz
  • 3. ENGINEERS AND DEVICES WORKING TOGETHER Projects finished between BKK16 and LAS16 1/2 ● Memory allocator analysis ● File System analysis ● LCR updates: Switching to AOSP N and more ● gcc 6.2 support in AOSP M ● Updated clang toolchains for building AOSP N ● Increased upstream participation ● SystemUI carrier status display upstreaming ● Low-RAM LCR build to keep low-RAM patches working ● Clang-built kernel to build, boot and run Android ● OP-TEE integration in M-LCRs ● Contributing to chromium.org to : build 64bit browser for Android with clang for ARMv8, fix simd access for 64bit ARM neon clang compilation, update libjpeg_turbo to 1.4.90, update Zlib to version 1.2.8
  • 4. ENGINEERS AND DEVICES WORKING TOGETHER Projects finished between BKK16 and LAS16 2/2 ● ART instruction scheduling and improved instruction selection ● ART JIT investigation ● ART 32-bit performance investigation ● Hikey enablement on AOSP ● Open Graphics stack for Android enablement ● Continual rebase of AOSP patches on TIP kernel ● Continued nexus device enablement with mainline ● Implemented GBM/miniGBM based gralloc ● Upstreamed dmabuf support in Mesa Android EGL
  • 5. ENGINEERS AND DEVICES WORKING TOGETHER Memory allocator analysis ● Primary focus: Reduce memory usage on low-memory devices ● Malloc implementations investigated: jemalloc, dlmalloc, nedmalloc, tcmalloc, musl malloc, TLSF, lockless allocator ● Memory analysis briefing ○ https://docs.google.com/document/d/15ycUEuplwZs0LPXMVc6yKRaLOnflY8QE2mA7kkEoa_o /edit#heading=h.z9n368sk0eai ● Challenges ○ Porting of atomic routines for ARM 64-bit platform ○ name mangling issues ○ C99 warnings ○ Wrapper/dummy calls for bionic integration (e.g. malloc_usable_size, malloc_disable, mallinfo etc.) ○ Other runtime issues ○ Benchmark porting - (tlsf-test, t-test) ○ Fragmentation analysis script
  • 6. ENGINEERS AND DEVICES WORKING TOGETHER Memory allocator analysis Summary ● tcmalloc, jemalloc wins for multi-threaded apps and run time performance (good amount of small pages available at runtime) ● static size reduction for libc is improved with nedmalloc and tlsf ● jemalloc-svelte does not have good stand compare to jemalloc & tcmalloc ● Support issue with nedmalloc - no more support. ● Lockless allocator - under private license Note: Rank graph is generated based on relative performance. For real numbers kindly refer to memory analysis document
  • 7. ENGINEERS AND DEVICES WORKING TOGETHER File System analysis ● Filesystems investigated: ext4, btrfs, f2fs, nilfs, squashfs ● Variants: encryption enabled/disabled, compression off/zlib/lz4 ● File system analysis briefing (ongoing changes) ○ https://docs.google.com/a/linaro.org/document/d/1jam-PlV9iefnOqujzYWZoY8U9d9GnmPwda 3MItxsPsU/edit?usp=sharing ● Challenges ○ Fixed build support for f2fs image generation (core.mk & image size alignment to 4096) ○ Fixed sparse raw image generation issue ■ Need to use for btrfs and nilfs ○ Image generation for btrfs, nilfs, squashfs etc.. ○ Benchmark porting - bonnie, iozone ○ Partition overload scripts and long run impact scripts
  • 8. ENGINEERS AND DEVICES WORKING TOGETHER File System analysis - Summary ● All relative rank graphs is available at ○ https://docs.google.com/a/linaro.org/spreadsheets/d/1ctknBBVWUjrIZwS8OQcb5L8gCd CLuzktJgx-K_CMgt0/edit?usp=sharing ● F2FS/Ext4 Wins for ○ Small File Access (4K-1MB) + DB Access with disk data integrity ○ Potential use case: Industrial monitoring system, Consumer Phone, Health monitoring system ● NilFS outperforms for SQLite operations ○ Only cache here is, metadata/data gets updated later once get written to log file ( kind of extended version of fdatasync over fsync) ○ Can be useful for power backed system and continuous log recording of small data (upto 4K) with good amount of storage ○ It quickly fill up the space if GC is not called in between. On 5GB space, it just went out of space for 1000 runs of iozone test. Do not recommended for “Embedded System” ● SquashFS : Good buffered I/O read ○ Can be used for read only partitions ( system libraries and ro database)
  • 9. ENGINEERS AND DEVICES WORKING TOGETHER File System analysis - Summary ● BTRFS : Large file + large RAM ○ LZO - Outperforms for block write/read operations ( > 4MB) ○ Potential use case: ■ In flight entertainment system ( mostly for movies/songs/images etc..) ■ Portable streaming & recording devices ( should be power backed up) ○ Low lights: ■ High cpu utilization ( more no# of threads) ■ Not recommended where small i/o transaction with sync is expected ■ Risk on power failure recovery ● Hybrid use of different file systems on multiple partitions can improve overall performance e.g. ○ large read/write (movies, extra download) on BTRFS partition ○ All small read/write (docs, images) on f2fs/ext4 partition ○ All database access insert/update/delete on f2fs/nilfs partition ● Note: Yet to perform impact on file system as it ages
  • 10. ENGINEERS AND DEVICES WORKING TOGETHER LCR updates ● Monthly Marshmallow based releases for HiKey and Juno ○ Always released on time and functional ○ Continuously improved automated validation ○ With help from B&B team, migrated to ci.linaro.org ○ More features added into release, like change logs, patch details, mirror support for build scripts ● OP-TEE integration in M-LCR together with fully automated validation ● Switch to EAS Kernel for juno builds ● Updated to android-7.0.0_r6 tag while transitioning to Android Nougat ● Rebased existing M-LCR patches/optimizations from Marshmallow to Nougat ● New hardware support: X15
  • 11. ENGINEERS AND DEVICES WORKING TOGETHER gcc 6.2 support in AOSP M ● AOSP M can now be built with gcc 6.2 and binutils 2.27 ● So far 2 out of 5 patches accepted upstream: Not a priority because AOSP will never officially support gcc > 4.9 (N and on: Only clang supported for compiling userland), but willing to take patches that don’t break things (especially for problems that might also show up in clang 4.1)
  • 12. ENGINEERS AND DEVICES WORKING TOGETHER Updated clang toolchains for AOSP N ● We can build AOSP N/master with clang versions based on upstream master ● Work in progress on creating CI builds to see performance impacts ● Continuously adapting userspace to make sure it remains compatible (e.g. new warnings being added while most of AOSP is built with -Werror and new assertion failures detected) - report bugs or upstream fixes when possible
  • 13. ENGINEERS AND DEVICES WORKING TOGETHER Increased upstream participation ● Every member of the AOSP Engineering team is tasked to do 10+ upstream reviews every month ● Continuing to update projects in external/ to newer upstream versions ● So far, limited acceptance upstream - problem getting enough time scheduled because of assignees being pulled off LMG tasks ● Upstream work getting more and more important: ○ Android One-style devices with a fixed /system partition becoming more common ○ Monthly security updates (and the heat some vendors are taking over not applying them in time) force people to stick closer to relevant upstream repositories
  • 14. ENGINEERS AND DEVICES WORKING TOGETHER SystemUI carrier status display upstreaming ● SystemUI patch offering more options for carrier status display created by CodeAurora/Qualcomm: ○ Rebased to AOSP master ○ Cleaned up minor issues (unnecessary API changes) ○ Rebased again after AOSP N changes got merged ● Submitted upstream, not yet accepted
  • 15. ENGINEERS AND DEVICES WORKING TOGETHER ION ● Goal: move Ion as a self-contained framework into drivers/android ○ Most likely userspace APIs at first ● Ongoing work ○ Clean up ioctls - Almost done ○ Platform/devicetree - Done, add more platforms ○ Cache coherency - Two steps forward, 1.5 steps back
  • 16. HiKey in AOSP Update John Stultz <john.stultz@linaro.org>
  • 17.
  • 18. Continuing Collaboration Working closely with folks at Google. Submitting changes directly to AOSP Gerrit.
  • 19. ENGINEERS AND DEVICES WORKING TOGETHER New Features Added Updated to Nougat v4.4-stable based kernel (Staying current w/ -stable) Suspend/Resume support Interactive cpufreq gov powerHAL integration HDMI & USB Audio Display panel mezzanine Bootloader source integration Abootimg support in UEFI Unique serial no setup “fastboot boot <kernel>” USB Tethering Overlay_Manager FIQ_debugger* * FIQ bouncing from secure mode not yet implemented, so really this is an irq_debugger
  • 20. ENGINEERS AND DEVICES WORKING TOGETHER Energy Aware Scheduler Integration Working through and documenting how to integrate EAS code (core, schedtune, schedfreq gov) in with AOSP & PowerHAL Working with other Linaro teams to benchmark and measure power and performance impact Collaboration between Linaro, ARM and Google got EAS merged in android-4.4 and integrated into HiKey!
  • 21. ENGINEERS AND DEVICES WORKING TOGETHER OP-TEE kernel driver from Security Group merged into HiKey AOSP kernel OP-TEE support in bootloader to follow OP-TEE Integration
  • 22. ENGINEERS AND DEVICES WORKING TOGETHER Overlay Manager How to handle and support various hardware configurations in AOSP Driver which switches between DeviceTree overlay objects in the DeviceTree source based on boot argument Submitted upstream to lkml by Dmitry
  • 23. ENGINEERS AND DEVICES WORKING TOGETHER Now, installing the latest AOSP master build is easy! https://developers.google.com/android/nexus/images-preview#hikey # Set the J15 3-4 jumper $ unzip <filename> $ cd <filename> $ ./flashall.sh /dev/ttyUSBn # Unset J15 3-4 jumper & reboot That’s it! Really! Factory Images
  • 24. ENGINEERS AND DEVICES WORKING TOGETHER Common.git AOSP Efforts Deep review of common/android-4.4 tree Sending reverts for obsolete features Appended dtb support (Image-dtb) Integrated upstream timerslack_ns support -stable merged android-4.4.y branches EAS forward ported from android-3.18 to android-4.4 Prep-work for next LTS android-4.9 tree
  • 25. ENGINEERS AND DEVICES WORKING TOGETHER Not AOSP, but HiKey is also used in Rob Herring’s generic build project, which supports multiple devices (and architectures) out of a single build directory using Kconfig Generic Build Integration
  • 26. ENGINEERS AND DEVICES WORKING TOGETHER TODOs ● Op-tee & Trusty coexisting in AOSP ● A/B updates partitioning & switching ● Moving forward to next 4.9 LTS kernel ● Work with Mali devs to avoid custom tweaks for Hikey ● Memory reductions to help 1GB variant ● Fixing bugs as they crop up.
  • 27. ENGINEERS AND DEVICES WORKING TOGETHER HiKey in AOSP (Apr 2016) Following upstream kernels v3.10 Released June 2013 Current Nexus devices (Oct 2015) v3.18 Released Dec 2014 v4.4 Released Jan 2016 Latest flagship devices (Mar 2016) Why this is useful... 2 years, 4 months 1 year, 3 months 4 months
  • 28. ENGINEERS AND DEVICES WORKING TOGETHER Regressions fixed in android-4.4 ● Two separate xt_qtaguid bugs ● USB eth adapter regression ● USB Configfs gadget fixes ● PTP null pointer deref fix ● Missing cpuset allow_attach hooks ● Performance regression in cgroup migration ● UID routing enum collision
  • 29. ENGINEERS AND DEVICES WORKING TOGETHER Regressions found and fixed upstream ● /sys/module/mmcblk path ABI change ● iptables alignment breakage ● wlcore_op_get_expected_throughput null ptr dereference ● Missing CAP_WAKE_ALARM in AOSP userspace ● fib_rules UID routing collision w/ upstream
  • 30. ENGINEERS AND DEVICES WORKING TOGETHER HiKey Upstreaming Status 4.6: PMIC thermal 4.7: eMMC uSD USB Wifi DRM display 4.8: power-key RTC media-reset adv7533 4.9 (queued): K3DMA fixes HDMI dts Reboot-reason dts, Pstore dts Kconfig fix
  • 31. ENGINEERS AND DEVICES WORKING TOGETHER HiKey Upstreaming TODOs (~50 patches ) DTS changes (Pstore, reboot-reason, DSI/HDMI output) K3DMA fixes ADV7511 HDMI codec support HI6210 I2S driver High-speed uSD support USB speed autonegotiation Upstream Bluetooth solution for AOSP Mali driver (we can dream!) [~15 patches]
  • 32. ENGINEERS AND DEVICES WORKING TOGETHER Differing focuses AOSP (& HW Vendors) Upstream Kernel Community v3.10 kernels 2M+ line vendor patchsets Fully enabled devices Maximum power efficiency High performance & low latency graphics Shipping to consumers in 6-12mo Long term maintainability Only has to work on this one device Can’t hurt functionality on other devices arm/aarch64 X86_64 (and everything else!) Linus HEAD, -next or bust Maximum throughput / capacity Server workloads One binary kernel runs on all devices
  • 33. AOSP (& HW Vendors) Upstream Kernel Community Working against Latest -LTS & Linus HEAD aarch64 Creating an overlap with HiKey Affordable & available devices Fully enabled device Allows for validation of latest upstream kernel using AOSP userspace
  • 35. Thank You #LAS16 For further information: www.linaro.org LAS16 keynotes and videos on: connect.linaro.org
  • 36. ART Team Update Serban Constantinescu Linaro ART Team linaro-art@linaro.org
  • 37. ENGINEERS AND DEVICES WORKING TOGETHER What do we work on? Linaro ART Tip ● Improve ART for the next Android Release (currently Android O) ● Patches merged into the upstream AOSP Master Linaro ART Stable ● Improve ART for the current Android Release (currently Android N) ● Patches merged into the Linaro Optimised Repository (LOR) ● ART Optimisations bundled together with other changes into the Members - Linaro Confectionary Release (M-LCR) 37
  • 38. ENGINEERS AND DEVICES WORKING TOGETHER What do we work on? 38 AOSP Master Android N Android N Developer Preview Q3 2016Q2 2016 All patches merged upstream will be part of the next Android Release (Android O) Cherry picking and bug fixes Only bug fixes and security updates E.g: 7.0_r1, 7.0_r2, ... Android N Members-LCR ART Performance Improvements & other goodies
  • 39. ENGINEERS AND DEVICES WORKING TOGETHER Meet the Team ● ARM Assignees: ○ Alexandre Rames ○ Anton Kirilov ○ Artem Serov ○ Julien Duraj ○ Scott Wakeling ○ Xueliang Zhong ○ Serban Constantinescu ● You can find us @ linaro-art@linaro.org ● Thank you all for your contributions! 39 ● Spreadtrum Assignees: ○ Donghui Bai ○ Tim Zhang ● MediaTek Assignees: ○ Tatwai Chong
  • 40. ENGINEERS AND DEVICES WORKING TOGETHER Work that was done since LCA16? ● Performance: ○ Various improvements for Android Master ■ ~ 66 patches ○ Various improvements for Linaro M-LCR ■ ~ 46 patches ● Infrastructure: ○ ART Testing: ■ ~ 60 benchmarks ○ ART Reports: ■ Automated monitoring of upstream and per patch improvements ○ Continuous Integration: ■ Considerably improved stability and reproducibility ● Investigations: ○ 32 bit Performance Investigation 1 ○ JIT Investigation 1 40 1- Documents available for Linaro Members
  • 41. ENGINEERS AND DEVICES WORKING TOGETHER Work that will be done by LCA17? ● Android Master: ○ ARM based VIXL32 ART backends ○ Focus on 32bit performance ○ Various other improvements ● Android N LCR: ○ Various performance improvements ● Infrastructure: ○ Various ARM and competitor platforms 41
  • 42. ENGINEERS AND DEVICES WORKING TOGETHER ART Performance Improvements 42 Android N vs. Android M 1 Benchmark Mode Improvement Benchmarksgame 32 bit 18.90% 64 bit 21.32% Caffeinemark 32 bit 17.13% 64 bit 25.36% Stanford 32 bit 22.08% 64 bit 31.08% Linaro M-LCR vs. Android M 1 Benchmark Mode Improvement Benchmarksgame 32 bit 4.12% 64 bit 8.01% Caffeinemark 32 bit 18.32% 64 bit 31.13% Stanford 32 bit 14.91% 64 bit 29.43% 1 - Benchmark numbers have been collected on A53 Nexus 5X.
  • 43. ENGINEERS AND DEVICES WORKING TOGETHER ART Talks @ LCU16 ● ART Talks: ○ ART JIT in Android N ○ VIXL: A Programmatic Assembler and Disassembler for AArch32 ○ Android Runtime Performance Analysis 43
  • 44. Thank You #LAS16 For further information: www.linaro.org LAS16 keynotes and videos on: connect.linaro.org
  • 45. ENGINEERS AND DEVICES WORKING TOGETHER Coming up next ● Building AOSP with clang master in CI (and stabilize it, including kernel) ● Open Source benchmarks ● Continue increasing upstream participation ● Continue LCR improvements ● Continue to reduce AOSP kernel patch backlog ● Continue HAL Consolidation efforts ● Next LTS kernel support for Android, and into AOSP ● … ● More projects being decided on during Connect
  • 46. Thank You #LAS16 For further information: www.linaro.org LAS16 keynotes and videos on: connect.linaro.org