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

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 LMGLinaro
 
Green Custard Friday Talk 22: Flutter
Green Custard Friday Talk 22: FlutterGreen Custard Friday Talk 22: Flutter
Green Custard Friday Talk 22: FlutterGreen Custard
 
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_finalNAVER D2
 
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 hoodEmbeddedFest
 
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?GlobalLogic Ukraine
 
LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205Linaro
 
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)Igalia
 
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 ...Igalia
 
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)Patricia Aas
 
LCE12: Android Mini Summit (overview)
LCE12: Android Mini Summit (overview)LCE12: Android Mini Summit (overview)
LCE12: Android Mini Summit (overview)Linaro
 
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...Masafumi Ohta
 
Linaro and Android Kernel
Linaro and Android KernelLinaro and Android Kernel
Linaro and Android KernelJohn Lee
 
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...GlobalLogic Ukraine
 
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 UpstreamingLinaro
 
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 - LinagoraLINAGORA
 
Lecture02web 140phpapp01
Lecture02web 140phpapp01Lecture02web 140phpapp01
Lecture02web 140phpapp01letuan9999
 
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~Kohei KaiGai
 
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...The Linux Foundation
 

Ä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 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
 

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

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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 educationjfdjdjcjdnsjd
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
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 Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Kürzlich hochgeladen (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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...
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

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