SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Android Upstreaming Status and Future
John Stultz, Oct 29th
2013
john.stultz@linaro.org
www.linaro.org
●
Accomplishments so far this year
●
Discussions from Linux Plumbers
●
What is still to be done
●
Next steps / Discussion
Overview
www.linaro.org
●
Mempressure events merged in 3.10 (AntonV)
– Android developers planning to move from low-memory-killer in a future release.
●
Android Sync driver in staging in 3.10 (John)
●
FAT_GET_VOLUME_ID ioctl merged in 3.11 (Bintian)
●
Suspend time logging merged in 3.11 (Zoran)
●
Keyreset functionality merged into sysrq in 3.12 (Mathieu)
●
compat_ioctl enablement for ashmem, alarmdev, sync, FAT_GET_VOLUME_ID and
others merged during 3.10-3.12 (DmitryP, John, Serban, Bintian)
– Binder support hopefully soon
●
pstore suspend debugging queued for 3.13 (Zoran)
●
wakeup_source enablement for RTC and power_supply drivers queued for 3.13 (Zoran)
– Hopefully MMC as well (Ulf)
Linaro Accomplishments so far in 2013
www.linaro.org
● ConfigFS gadget merged in 3.10 (Sebastian/Andrzej)
– Will likely replace Android Gadget eventually
● Alarmtimer support added to timerfd merged in 3.11 (Todd)
– Allowed android-battery meta-driver to move to user land
– Likely to replace /dev/alarm
● Freezer optimizations merged in 3.11 (Colin)
– Merged upstream in parallel with AOSP!
Community Accomplishments so far in 2013
www.linaro.org
●
Android Sync
●
Atomic Display Framework
●
ION
●
Binder
●
Netfilter
●
Android Gadget
Discussion from Linux Plumbers
www.linaro.org
●
Dmabuf-fences is the upstream preferred solution
●
Implicit vs explicit sync contracts
●
Seemingly agreement on allowing for optional explicit sync
arguments in the APIs
– Likely trying to implement Android's Sync api on top of
kernel-internal dmabuf-fences
●
Next steps:
– Maarten started looking at this, but may need assistance
Android Sync
www.linaro.org
●
Simplified KMS-like framework.
●
Sort of an experiment to see what an ideal framework for
Android would look like
●
Similar to upstream atomic mode-setting / nuclear pageflip
work
●
Integrates Android sync points in the API
●
Presented as fodder for how KMS could be extended
●
Next steps:
– Continue pushing community and Android developers to
collaborate on this.
– Hopefully avoid forking display frameworks!
Atomic Display Framework
www.linaro.org
●
Discussed ION interface issues
●
Upstream preferred solution is post-attach delayed allocation
– Android developers have issues with this approach
●
Likely to continue having separate interfaces, but hopefully
will share underlying logic.
●
Next steps:
– Push ION into staging
– Try to integrate ION's “heap” allocators in the dmabuf
post-attach delayed allocation approach.
ION
www.linaro.org
●
Greg KH earlier claimed he would get libbinder running over
KDBUS, allowing in-kernel binder driver to be dropped
●
This is apparently quite hard, as KDBUS has very different
semantics then binder.
●
Not looking very likely a way forward, but Greg wants us to
check back in a year.
●
Next steps:
– None, at the moment
Binder
www.linaro.org
●
Got background on Android netfilter extensions:
– xt_quota2, xt_idletimer and xt_qtaguid
●
Upstream developers suggest using NFQUEUE instead of
xt_qtaguid
●
Next steps:
– xt_quota2 likely to be done w/ nfacct
– xt_idletimer changes look possible to merge
– NFQUEUE viability research on-going
Netfilter
www.linaro.org
●
ConfigFS driver merged in 3.10 likely to eventually replace
Android Gadget
●
ConfigFS still missing some functionality:
– Needs FunctionFS support
– Also upstream needs MTP, Android Accessory and
Android Audio function support
●
Next steps:
– Find hands to work on this
Android Gadget
www.linaro.org
●
MMC improvements (Ulf)
●
ION moving to staging & making it arch neutral (Jesse, Sumit, John)
●
Netfilter changes (Mathieu)
●
Volatile Ranges work to upstream part of ashmem (John)
●
Binder compat_ioctl (Serban)
Current work in progress
www.linaro.org
●
Lots of graphics work
– ION, Sync, ADF
– Want to avoid a forked graphics infrastructure
●
ETM/ETB
●
FIQ Debugger functionality in KDB (stalled)
●
ARM improvements (ro kernel text, console flush, etc)
●
Android Gadget driver
– Enable FunctionFS in ConfigFS gadget
– Support MTP, Android Accessory, Android Audio gadget functions
●
Interactive cpufreq gov
– Hopefully replaced by power-aware scheduling
●
Bluetooth, wireless, other networking changes
●
Moving items out of staging (binder, ashmem, logger, sync, etc)
What is left?
net/netfilter/xt_qtaguid.c | 3012 ++++++++++++++++++++++++++
drivers/usb/gadget/android.c | 1517 +++++++++++++
drivers/gpu/ion/ion.c | 1495 ++++++++++++
arch/arm/common/fiq_debugger.c | 1376 +++++++++++
drivers/usb/gadget/f_mtp.c | 1274 ++++++++++
drivers/cpufreq/cpufreq_interactive.c | 1247 ++++++++++
drivers/usb/gadget/f_accessory.c | 1180 ++++++++++
drivers/usb/gadget/f_audio_source.c | 828 +++++++
arch/arm/kernel/etm.c | 680 ++++-
net/netfilter/xt_qtaguid_print.c | 566 ++++
drivers/gpu/ion/ion_system_heap.c | 450 +++
drivers/net/ppp/pppolac.c | 449 +++
drivers/input/misc/gpio_matrix.c | 441 +++
drivers/net/ppp/pppopns.c | 428 +++
drivers/input/misc/keychord.c | 391 +++
drivers/input/misc/gpio_input.c | 390 +++
net/netfilter/xt_quota2.c | 385 +++
include/linux/ion.h | 376 +++
drivers/gpu/ion/ion_priv.h | 359 +++
net/netfilter/xt_qtaguid_internal.h | 352 +++
drivers/char/dcc_tty.c | 326 ++
drivers/gpu/ion/ion_heap.c | 320 ++
drivers/input/keyreset.c | 239 ++
drivers/input/misc/gpio_event.c | 228 +
drivers/gpu/ion/ion_chunk_heap.c | 213 +
drivers/gpu/ion/ion_cma_heap.c | 205 +
drivers/gpu/ion/ion_page_pool.c | 200 +
drivers/input/misc/gpio_axis.c | 192 +
drivers/gpu/ion/ion_carveout_heap.c | 187 +
kernel/trace/trace_output.c | 182 +
drivers/switch/switch_class.c | 174 +
drivers/usb/phy/otg-wakelock.c | 173 +
drivers/switch/switch_gpio.c | 172 +
include/linux/freezer.h | 171 +
include/linux/gpio_event.h | 170 +
arch/arm/mm/rodata.c | 159 +
...
Key:
Upstreaming in progress
Upstream since 3.10
diffstat of android-3.10
sorted by delta
www.linaro.org
● Resource issues
– Plenty of work, not too many full time hands
– Need to leverage the graphics team
● Next areas of focus?
– ARM changes
● Tend to collide and cause frequent pain
● Would be good to resolve
– Android Gadget (low hanging fruit)
– FIQ Debugger (currently stalled)
– ????
Discussion
More about Linaro: http://www.linaro.org/about/
More about Linaro engineering: http://www.linaro.org/engineering/
How to join: http://www.linaro.org/about/how-to-join
Linaro members: www.linaro.org/members
connect.linaro.org

Weitere ähnliche Inhalte

Ähnlich wie LCU13: Android upstreaming - status and future

Kandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalKandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_final
NAVER D2
 

Ähnlich wie LCU13: Android upstreaming - status and future (20)

LAS16-209: Finished and Upcoming Projects in LMG
LAS16-209: Finished and Upcoming Projects in LMGLAS16-209: Finished and Upcoming Projects in LMG
LAS16-209: Finished and Upcoming Projects in LMG
 
Green Custard Friday Talk 22: Flutter
Green Custard Friday Talk 22: FlutterGreen Custard Friday Talk 22: Flutter
Green Custard Friday Talk 22: Flutter
 
Kandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalKandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_final
 
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hoodEmbedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
Embedded Fest 2019. Игорь Опанюк. Das U-boot v2019: a look under the hood
 
Open-source Android 10 on Orange Pi: myth or reality?
Open-source Android 10 on Orange Pi: myth or reality?Open-source Android 10 on Orange Pi: myth or reality?
Open-source Android 10 on Orange Pi: myth or reality?
 
LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205
 
The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
The pathway to Chromium on Wayland (Web Engines Hackfest 2018)The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
The pathway to Chromium on Wayland (Web Engines Hackfest 2018)
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 
Isolating GPU Access in its Own Process (Foss-North 2018)
Isolating GPU Access in its Own Process (Foss-North 2018)Isolating GPU Access in its Own Process (Foss-North 2018)
Isolating GPU Access in its Own Process (Foss-North 2018)
 
LCE12: Android Mini Summit (overview)
LCE12: Android Mini Summit (overview)LCE12: Android Mini Summit (overview)
LCE12: Android Mini Summit (overview)
 
Desktop Ubutu on Laptops and RaspberryPi_practices how to use it with SD card...
Desktop Ubutu on Laptops and RaspberryPi_practices how to use it with SD card...Desktop Ubutu on Laptops and RaspberryPi_practices how to use it with SD card...
Desktop Ubutu on Laptops and RaspberryPi_practices how to use it with SD card...
 
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
 
Linaro and Android Kernel
Linaro and Android KernelLinaro and Android Kernel
Linaro and Android Kernel
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
 
BKK16-505 Kernel and Bootloader Consolidation and Upstreaming
BKK16-505 Kernel and Bootloader Consolidation and UpstreamingBKK16-505 Kernel and Bootloader Consolidation and Upstreaming
BKK16-505 Kernel and Bootloader Consolidation and Upstreaming
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
Monkey Server
Monkey ServerMonkey Server
Monkey Server
 
Lecture02web 140phpapp01
Lecture02web 140phpapp01Lecture02web 140phpapp01
Lecture02web 140phpapp01
 
GPGPU Accelerates PostgreSQL ~Unlock the power of multi-thousand cores~
GPGPU Accelerates PostgreSQL ~Unlock the power of multi-thousand cores~GPGPU Accelerates PostgreSQL ~Unlock the power of multi-thousand cores~
GPGPU Accelerates PostgreSQL ~Unlock the power of multi-thousand cores~
 
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
 

Mehr von 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 Gallo
Linaro
 
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
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
 
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 mainline
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 mainline
Linaro
 
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
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
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 boot
Linaro
 

Mehr von 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
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

LCU13: Android upstreaming - status and future

  • 1. Android Upstreaming Status and Future John Stultz, Oct 29th 2013 john.stultz@linaro.org
  • 2. www.linaro.org ● Accomplishments so far this year ● Discussions from Linux Plumbers ● What is still to be done ● Next steps / Discussion Overview
  • 3. www.linaro.org ● Mempressure events merged in 3.10 (AntonV) – Android developers planning to move from low-memory-killer in a future release. ● Android Sync driver in staging in 3.10 (John) ● FAT_GET_VOLUME_ID ioctl merged in 3.11 (Bintian) ● Suspend time logging merged in 3.11 (Zoran) ● Keyreset functionality merged into sysrq in 3.12 (Mathieu) ● compat_ioctl enablement for ashmem, alarmdev, sync, FAT_GET_VOLUME_ID and others merged during 3.10-3.12 (DmitryP, John, Serban, Bintian) – Binder support hopefully soon ● pstore suspend debugging queued for 3.13 (Zoran) ● wakeup_source enablement for RTC and power_supply drivers queued for 3.13 (Zoran) – Hopefully MMC as well (Ulf) Linaro Accomplishments so far in 2013
  • 4. www.linaro.org ● ConfigFS gadget merged in 3.10 (Sebastian/Andrzej) – Will likely replace Android Gadget eventually ● Alarmtimer support added to timerfd merged in 3.11 (Todd) – Allowed android-battery meta-driver to move to user land – Likely to replace /dev/alarm ● Freezer optimizations merged in 3.11 (Colin) – Merged upstream in parallel with AOSP! Community Accomplishments so far in 2013
  • 5. www.linaro.org ● Android Sync ● Atomic Display Framework ● ION ● Binder ● Netfilter ● Android Gadget Discussion from Linux Plumbers
  • 6. www.linaro.org ● Dmabuf-fences is the upstream preferred solution ● Implicit vs explicit sync contracts ● Seemingly agreement on allowing for optional explicit sync arguments in the APIs – Likely trying to implement Android's Sync api on top of kernel-internal dmabuf-fences ● Next steps: – Maarten started looking at this, but may need assistance Android Sync
  • 7. www.linaro.org ● Simplified KMS-like framework. ● Sort of an experiment to see what an ideal framework for Android would look like ● Similar to upstream atomic mode-setting / nuclear pageflip work ● Integrates Android sync points in the API ● Presented as fodder for how KMS could be extended ● Next steps: – Continue pushing community and Android developers to collaborate on this. – Hopefully avoid forking display frameworks! Atomic Display Framework
  • 8. www.linaro.org ● Discussed ION interface issues ● Upstream preferred solution is post-attach delayed allocation – Android developers have issues with this approach ● Likely to continue having separate interfaces, but hopefully will share underlying logic. ● Next steps: – Push ION into staging – Try to integrate ION's “heap” allocators in the dmabuf post-attach delayed allocation approach. ION
  • 9. www.linaro.org ● Greg KH earlier claimed he would get libbinder running over KDBUS, allowing in-kernel binder driver to be dropped ● This is apparently quite hard, as KDBUS has very different semantics then binder. ● Not looking very likely a way forward, but Greg wants us to check back in a year. ● Next steps: – None, at the moment Binder
  • 10. www.linaro.org ● Got background on Android netfilter extensions: – xt_quota2, xt_idletimer and xt_qtaguid ● Upstream developers suggest using NFQUEUE instead of xt_qtaguid ● Next steps: – xt_quota2 likely to be done w/ nfacct – xt_idletimer changes look possible to merge – NFQUEUE viability research on-going Netfilter
  • 11. www.linaro.org ● ConfigFS driver merged in 3.10 likely to eventually replace Android Gadget ● ConfigFS still missing some functionality: – Needs FunctionFS support – Also upstream needs MTP, Android Accessory and Android Audio function support ● Next steps: – Find hands to work on this Android Gadget
  • 12. www.linaro.org ● MMC improvements (Ulf) ● ION moving to staging & making it arch neutral (Jesse, Sumit, John) ● Netfilter changes (Mathieu) ● Volatile Ranges work to upstream part of ashmem (John) ● Binder compat_ioctl (Serban) Current work in progress
  • 13. www.linaro.org ● Lots of graphics work – ION, Sync, ADF – Want to avoid a forked graphics infrastructure ● ETM/ETB ● FIQ Debugger functionality in KDB (stalled) ● ARM improvements (ro kernel text, console flush, etc) ● Android Gadget driver – Enable FunctionFS in ConfigFS gadget – Support MTP, Android Accessory, Android Audio gadget functions ● Interactive cpufreq gov – Hopefully replaced by power-aware scheduling ● Bluetooth, wireless, other networking changes ● Moving items out of staging (binder, ashmem, logger, sync, etc) What is left?
  • 14.
  • 15. net/netfilter/xt_qtaguid.c | 3012 ++++++++++++++++++++++++++ drivers/usb/gadget/android.c | 1517 +++++++++++++ drivers/gpu/ion/ion.c | 1495 ++++++++++++ arch/arm/common/fiq_debugger.c | 1376 +++++++++++ drivers/usb/gadget/f_mtp.c | 1274 ++++++++++ drivers/cpufreq/cpufreq_interactive.c | 1247 ++++++++++ drivers/usb/gadget/f_accessory.c | 1180 ++++++++++ drivers/usb/gadget/f_audio_source.c | 828 +++++++ arch/arm/kernel/etm.c | 680 ++++- net/netfilter/xt_qtaguid_print.c | 566 ++++ drivers/gpu/ion/ion_system_heap.c | 450 +++ drivers/net/ppp/pppolac.c | 449 +++ drivers/input/misc/gpio_matrix.c | 441 +++ drivers/net/ppp/pppopns.c | 428 +++ drivers/input/misc/keychord.c | 391 +++ drivers/input/misc/gpio_input.c | 390 +++ net/netfilter/xt_quota2.c | 385 +++ include/linux/ion.h | 376 +++ drivers/gpu/ion/ion_priv.h | 359 +++ net/netfilter/xt_qtaguid_internal.h | 352 +++ drivers/char/dcc_tty.c | 326 ++ drivers/gpu/ion/ion_heap.c | 320 ++ drivers/input/keyreset.c | 239 ++ drivers/input/misc/gpio_event.c | 228 + drivers/gpu/ion/ion_chunk_heap.c | 213 + drivers/gpu/ion/ion_cma_heap.c | 205 + drivers/gpu/ion/ion_page_pool.c | 200 + drivers/input/misc/gpio_axis.c | 192 + drivers/gpu/ion/ion_carveout_heap.c | 187 + kernel/trace/trace_output.c | 182 + drivers/switch/switch_class.c | 174 + drivers/usb/phy/otg-wakelock.c | 173 + drivers/switch/switch_gpio.c | 172 + include/linux/freezer.h | 171 + include/linux/gpio_event.h | 170 + arch/arm/mm/rodata.c | 159 + ... Key: Upstreaming in progress Upstream since 3.10 diffstat of android-3.10 sorted by delta
  • 16. www.linaro.org ● Resource issues – Plenty of work, not too many full time hands – Need to leverage the graphics team ● Next areas of focus? – ARM changes ● Tend to collide and cause frequent pain ● Would be good to resolve – Android Gadget (low hanging fruit) – FIQ Debugger (currently stalled) – ???? Discussion
  • 17. More about Linaro: http://www.linaro.org/about/ More about Linaro engineering: http://www.linaro.org/engineering/ How to join: http://www.linaro.org/about/how-to-join Linaro members: www.linaro.org/members connect.linaro.org