-
Welcome
-
Subscribe to
dma-fence & android sync
This proposal has been accepted as a session.
One Line Summary
explicit synchronization in the android graphics layers and mainlining efforts
Abstract
“Modern Android devices have a userspace layer known as the Hardware Composer HAL (HWC) that’s responsible for abstracting away the per-SoC logic for doing display composition of graphics buffers, and feeding the results to display. HWC can also pull data from media IP blocks, like camera or video decode/encode, and use them for composition. In order to exploit parallelism between this hardware, SoC vendors often implemented implicit synchronization contracts between drivers/hardware that made systems very difficult to debug or reason about, and were often flat out wrong. Android sync is a framework for explicit synchronization, so that drivers and hardware can safely and performantly synchronize with one another through a unified interface.
The canonical usage of sync is between graphics and display. A GPU driver can kick off work for generating a graphics buffer, and before this work is complete and the buffer finished, create a “sync pt” file descriptor to track this work. Userspace software can now hand off this graphics buffer and “sync pt” to a display driver, which can begin spooling up the next frame for display – before the GPU block has finished with the buffer. This deferred synchronization reduces latency, and depending on the platform, allows drivers to exploit hardware synchronization. Android sync also has strong facilities for debugging, which can greatly aid in figuring out the deadlocks and race-conditions which often appear in these data pipelines."
Tags
GPU, android, sync, dma-fence
Presentation Materials
slidesSpeaker
-
Biography
Rom has been working in the consumer electronics industry for over 10 years. Originally working on various proprietary operating systems, he switched to Android about 5 years ago and hasn’t looked back since.
Rom joined Google in 2012 and since then has been working on lowering Android memory requirements and graphics.
Rom holds a degree in Computer Science from Universite de Rouen and a Masters in Software Engineering from Carnegie Mellon University.
Sessions
-
- Title: Migrating code from ARM to ARM64
- Microconference: Android/Mobile
- Time: 4:05pm
-
One Line Summary:
Best practices for migrating code from ARM to ARM64
- slides
- Speakers: Rom Lemarchand
-
- Title: dma-fence & android sync
- Microconference: Android/Mobile
- Time: 1:50pm
-
One Line Summary:
explicit synchronization in the android graphics layers and mainlining efforts
- slides
- Speakers: Rom Lemarchand
-
- Title: Power management discussion: Big.Little
- Microconference: Android/Mobile
- Time: 6:30pm
-
One Line Summary:
Open discussion regarding big.little and more generally power management in Android
- Speakers: Rom Lemarchand
-
- Title: Moving code out of staging
- Microconference: Android/Mobile
- Time: 2:40pm
-
One Line Summary:
open discussion about moving the Android code out of staging
- Speakers: Rom Lemarchand
-
- Title: Welcome: Android upstreaming status
- Microconference: Android/Mobile
- Time: 1:30pm
-
One Line Summary:
Karim Yaghmour gives an overview of the state of Android upstreaming
- slides
- Speakers: Rom Lemarchand
-
- Title: Ion and the DMA coherency model
- Microconference: Android/Mobile
- Time: 2:15pm
-
One Line Summary:
A look at ion and how it handles memory coherency
- slides
- Speakers: Rom Lemarchand
-
- Title: Android/Mobile Wearables
- Microconference: BoF Track
- Room: Room 26
- Time: 6:30pm
-
One Line Summary:
Wearables, big.LITTLE, migration
- Speakers: Rom Lemarchand
-