Description
The Android Micro Conference brings the upstream community and Android systems developers together to discuss issues and changes to the Android platform and their dependencies and interactions with the Linux kernel, allowing for collaboration on solutions for upstream.
Some highlights of progress made since last yearโs MC:
- On 16k kernels, a set of recommendations were put together about how to reduce the memory footprint on 16kb kernels
Also related to 16k kernels, work on writing a memory driver that will be used during debugging to allocate any type of memory on the kernel (UNMOVABLE, MOVABLE, RECLAIMABLE, CMA, etc), which was proposed at LPC Tokyo 2025. - Discussions with attendees who had solved similar 4k / 16k compatibility issues pointed toward using a minimal VM. This feedback shifted the approach away from dynamic linker workarounds and led to investigations around AArch64 per-process page sizes to provide a more robust compatibility mode.
- HW/SW Design Recommendations for 16kB Devices also delivered actionable design recommendations to our industry partners, helping ensure their future hardware is natively 16kB compatible.
- The talk on Pixel upstreaming talk helped improve visibility of the project. There was a great conversation with Mark Brown during the talk about regulators which helped nail down the solution and move things along on the list. Connecting with maintainers and developers during the conference helped increase the project's credibility.
- At LPC, we got a chance to communicate detailed plans to transition from ashmem to memfd, and as there were no objections, that work is progressing as outlined and is expected to release in an upcoming version of Android.
Potential discussion topics for this year include:
- How Android is dealing with the memory crunch (likely multiple talks/discussions)
- Android USB Stack Updates: Userspace AOA and Multiport Device Mode
- Cuttlefish in Debian
- Wattson for power analysis
- Increasing Rust kernel driver usage with Android
- Debugging GBL with EFI debug support
- Pixel upstreaming updates
- โฆand more!
Key Attendees:
- Suren Baghdasaryan
- Kalesh Singh
- T.J. Mercier
- Juan Yescas
- William McVicker
- Alice Ryhl
- Matthew Maurer
- Yifan Hong
- Neill Kapron
- Paul Liu
- Peter Griffin
MC leads:
- Suren Baghdasaryan surenb@google.com
- Amit Pundir amit.pundir@linaro.org
- Mostafa Saleh smostafa@google.com
- Sumit Semwal sumit.semwal@linaro.org
- John Stultz jstultz@google.com
- Karim Yaghmour karim.yaghmour@opersys.com
-
Barry Song, Bo Zhang (Xiaomi Corporation), nanzhe zhao (Xiaomi Corporation)
This topic proposes exploring the possibility of using 16 KB for both
page cache and mTHP on Android.Collaborating with Kalesh Singh, Ryan Roberts, David Hildenbrand and
others, Xiaomi is exploring the use of 16 KB large folios for both page
cache and anonymous memory.We have posted an RFC patchset for large folio support in F2FS, which
Go to contribution page
has been working well on Android devices so... -
Mr Barry Song (Xiaomi Corporation), Mr Bo Zhang (Xiaomi Corporation), Mr Hongru Zhang (Xiaomi Corporation)
Problem Statement
Android UI rendering is latency-sensitive โ at 90Hz, each frame has only ~11ms time budget. When a UI-critical thread (e.g., RenderThread) is blocked in the kernel, the frame is likely to be dropped.
We profiled 40 popular Android applications on a Pixel 6 (kernel 6.18.0-mainline, 90Hz refresh rate), using ftrace lock_contention events correlated with Perfetto...
Go to contribution page -
Rohan Tabish, Tengfei Fan
The upstream Linux kernel explicitly excludes real-time (RT) tasks from the sched-ext extensible scheduler framework, restricting sched-ext BPF schedulers to only manage SCHED_NORMAL/SCHED_BATCH/SCHED_IDLE tasks. However, Android's production workloads present a fundamentally different reality: many performance-critical scenarios โ including audio pipelines, camera capture, display...
Go to contribution page -
George Chan (Google - Android Security), Neill Kapron (Google)
The Android USB stack was originally architected around the constraints of early smartphones. Initially designed primarily for phones with a single USB Micro-B device port, the stack lacks the modern API surface required for advanced USB applications. While incremental changes have been implemented out of necessity, a larger refactoring is required to better support modern USB features like...
Go to contribution page -
Naina Mehta
Bootloaders play a vital role in the Android boot process, but the ecosystem has long been fragmented across silicon vendors and OEM-specific implementations. To address this, Google introduced the Generic Boot Loader (GBL), a Rust-based EFI application in AOSP, with the goal of standardizing Android boot logic.
Go to contribution page
This session focuses on how Qualcomm is adapting its boot chain to integrate GBL... -
Siddharth Nayyar (Google)
Android partners have expressed significant interest in eBPF for a variety of purposes including system stability monitoring, performance monitoring, power consumption analysis, and customizable scheduling through sched_ext; however, providing an officially supported framework presents engineering challenges. Modern eBPF deployment requires CO-RE (Compile Once - Run Everywhere) support and...
Go to contribution page -
Sungho Bae (LG Electronics)
Background
Automotive and embedded virtualization stacks increasingly run Android(AAOS) or Linux as a GuestVM that needs access to platform infrastructure -- clocks and regulators -- managed by a host or
Go to contribution page
hypervisor. The upstream Linux kernel provides a complete guest-side solution for this via SCMI-over-virtio:clk-scmi(upstream since v4.17),scmi-regulator, and the SCMI virtio... -
Juan Yescas (Google), Kalesh Singh (Google)
With the release of Android 17, partners are required to support the 16 KB developer option on devices meeting specific hardware requirements, such as CPU compatibility and memory configurations exceeding 8 GiB. While this transition significantly improves system performance and unlocks hardware efficiencies, Android partners frequently observe a noticeable memory footprint increase,...
Go to contribution page -
Todd Kjos (Google)
Androidโs Generic Kernel Image (GKI) enforces a single binary kernel, restricting Android ecosystem partners from modifying core kernel code. To allow partner-specific optimizations, Google introduced "vendor hooks", based on Linux tracepoints, to act as in-kernel callback registration points. Partners use loadable kernel modules to register handlers for these hooks to implement...
Go to contribution page -
William McVicker
Wattson is a trace based power estimation tool designed around perfetto to estimate CPU power consumption on ARM64 devices using a statistical per-SoC model. With support of both the Pixel 6 (gs101) and SM8750 upstream, you can now use the Wattson tool to detect CPU power regressions in the Linux kernel. This talk dives into how Google is using Wattson to catch CPU power regressions...
Go to contribution page -
Pravin Kumar Ravi (Qualcomm Innovation Center, Inc.)
Abstract
Android platform pipelines (camera, video, graphics, XR and AI) on
Go to contribution page
modern SoCs routinely span Linux drivers and firmware running on
DSPs, ISPs, NPUs, and other remote processors.dma_fenceand
sync_filework well when a fence's state and callbacks are owned
by Linux kernel participants, but don't natively support a fence
that a remote, non-Linux core needs to create,... -
Daniel Zheng
Hi I'm here to discuss the developments in android GBL + CF support, and talk about android dynamic partitions 2.0 feature (resizable super partition) to accommodate large OS updates.
- Quick GBL + Cuttlefish recap
- Cuttlefish default booting off GBL
- New android_esp partition
- Fastbootd deprecation
- u-boot implementation
Android Dynamic Partitions 2.0 allow for dynamic...
Go to contribution page -
Xirui Zhang, Yangtao Li
The Android Super partition relies on static reserved space to guarantee OTA upgrade capability. However, this fixed allocation method possesses an inherent defect: if the reserved space is too large, it permanently occupies flash memory and cannot be utilized by the data partition; if it is too small, OTA upgrades will fail due to insufficient space. To address the industry pain points of...
Go to contribution page