20–24 Sept 2021
US/Pacific timezone

Android

Not scheduled
20m
Android MC Android MC

Description

Over the past few years, the Android kernel team has increasingly worked closely with the rest of kernel community. It remains that many of the past Android microconferences were centred around the idea that it was primarily a sync point that enabled the Android kernel team to come and share what they had been doing in the past year.

Last year, GKI was the highlight of Android MC 2020. Talks ranging from introduction of GKI to ABI enforcement tools and experience from vendors point of view. The GKI project is on a multi-year path to solve the Android kernel fragmentation problem, so it may be too soon to talk about the accomplishments. However, some of the benefits which we already see are that the vendors have started contributing their core kernel changes upstream and moving core functionality to modules[1].

Other set of important discussions were around fw_devlink[2], dma-buf[3] and inline encryption support[4]. The speakers followed-up the LPC discussion with fixes upstream and discussions on the mailing lists. There were a couple of talks, dm-user and protected KVM, which gave a sneak peek into the upcoming big changes in Android. Though dm-user[5] is still in the design phase, with patches yet to land on lkml (and scheduled for discussion in Android MC 2021 as well), the protected KVM project[6] is being worked on in the open, with code going upstream along the way.

Then there were few assorted discussions ranging from Android userland to bootloaders, where the speakers highlighted the challenges of integrating external projects into the Android build system, the lack of SELinux policy tooling and bootloader fragmentation problem. Android developers did acknowledge the problem and mentioned that going forward there will probably be tools available to convert upstream build files into Android.bp blueprint files and that they are planning to develop a reference implementation using u-boot (UEFI flow) for a few reference platforms which can be used as baseline for a probable common (vendor neutral) bootloader implementation. There was a session which provided a high level overview of Android Automotive support in AOSP and how to get started with the virtual reference platform.

For more details from last year, see this (admittedly Linaro focused) summary document (and links it contains):
https://docs.google.com/document/d/1AYtOXAvVwaJvBP4svOwaV8anLPvq1XUEgGizW6oW9l8/edit

This year, the Android microconference will be an opportunity to foster an even higher level of collaboration between Android and the kernel community. The format for the present microconference will be to invite various upstream subsystem maintainers that are relevant to Android to come and present their vision of where their subsystem is going and the Android team to present how they've been using said subsystem and where they see their future needs being. By enabling back-and-forth exchange between several key maintainers and the Android team, the goal is to ensure that both Android and Linux move in more-or-less lockstep fashion going forward.

Planned discussions will be:

  • Alignment issues between Android and Cgroups v2: Issues in refactoring Android's use of cgroups to utilize cgroups v2
  • Thermal: Issues around performance and thermal handling between the kernel and Android's HAL
  • Fuse/device-mapper/other storage: Discuss out-of-tree dm/storage drivers and how they might go upstream or better align with upstream efforts
  • In kernel memory tracking: Tracking/account GPU (and other multi-device shared) memory and how it might fit with cgroups
  • fw_devlink: Remaining fw_devlink issues to resolve, now that its enabled by default.
  • Hermetic builds/Kbuild

In addition, the Android microconference will also feature some more "classic-style" discussion sessions around recent work done by the Android team that will be of interest to the wider Linux community. This will include topics such as:

  • GKI updates: Whats new this year in GKI and where its going next year
  • Rust in AOSP / Kernel / Binder: How Android is adopting rust for userland and potentially for kernel drivers
  • Android Automotive OS Reference Platform: Details on recent Android Automotive work
  • Community devboard/device Collaboration: Ways to better collaborate on enabling various devboard against AOSP, without needing close interlock with Google

Our key attendees on Google's side are:

  • Todd Kjos
  • Suren Baghdasaryan
  • Wei Wang
  • David Anderson
  • Hridya Valsaraju
  • Kalesh Singh
  • Matthias Männich
  • Saravana Kannan
  • Enrico Granata
  • and more

On the community side, we hope to have participation from:

  • Tejun Heo
  • Daniel Lezcano
  • Bart Van Assche
  • Mike Snitzer
  • Alasdair Kergon
  • Roman Stratiienko
  • and more

Even more than in the years before, the Android microconference is moving to encourage other non-Google Android initiatives to come and share their experiences with Google's Operating System. This will further ensure that the future of Android/Linux development also takes into account the wider ecosystem that has developed around Google's operating system over the years.

The current up-to-date list of topics can be found here:
https://docs.google.com/document/d/1VRSJvAgAVZt3vUmY4GZySoQb8FQ2Qh36WWU2OEJA0XA/

[1] A few examples of vendors updating their drivers to be built as modules
https://lore.kernel.org/lkml/20210607181015.5b8d3711@xhacker.debian/
https://lore.kernel.org/linux-gpio/20210305003907.1692515-3-jay.xu@rock-chips.com/
https://lore.kernel.org/linux-arm-msm/20201106042710.55979-2-john.stultz@linaro.org/

[2] fw_devlink=on by default https://lore.kernel.org/lkml/20210302211133.2244281-4-saravanak@google.com/

[3] ION dropped from staging in favour of dma-buf heaps
https://lore.kernel.org/lkml/20200827123627.538189-1-gregkh@linuxfoundation.org/

[4] A couple of inline encryption patch series
eMMC inline encryption support
https://lore.kernel.org/linux-arm-msm/20210126001456.382989-1-ebiggers@kernel.org/
add support for inline encryption to device mapper
https://patchwork.kernel.org/project/linux-block/cover/20210211225343.3145732-1-satyat@google.com/

[5] dm: dm-user: New target that proxies BIOs to userspace https://lkml.org/lkml/2020/12/3/1302

[6] KVM for Android https://lwn.net/Articles/836693/

I agree to abide by the anti-harassment policy I agree

Primary authors

Karim Yaghmour (Opersys inc.) Todd Kjos (Google) John Stultz (Linaro) Amit Pundir Mr Sumit Semwal (Linaro) Ric Wheeler Sandeep Patil

Presentation materials

There are no materials yet.

Diamond Sponsor

Platinum Sponsor

Gold Sponsors

Silver Sponsors

Speaker Gift Sponsor

T-Shirt Sponsor

Conference Services provided by