Successfully reported this slideshow.
Your SlideShare is downloading. ×

HKG15-100: What is Linaro working on - core development lightning talks

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Q2.12: Scheduler Inputs
Q2.12: Scheduler Inputs
Loading in …3
×

Check these out next

1 of 74 Ad

HKG15-100: What is Linaro working on - core development lightning talks

Download to read offline

HKG15 100 - Core Development Lightning Talks - Kernel, Power Management, Security and Virtualization
---------------------------------------------------
Speaker: Agustín Benito Bethencourt
Date: February 9, 2015
---------------------------------------------------
★ Session Summary ★
Discussion on Kernel, Power Management, Security and Virtualization

---------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250760
Video:
Etherpad: http://pad.linaro.org/p/hkg15-100
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org

HKG15 100 - Core Development Lightning Talks - Kernel, Power Management, Security and Virtualization
---------------------------------------------------
Speaker: Agustín Benito Bethencourt
Date: February 9, 2015
---------------------------------------------------
★ Session Summary ★
Discussion on Kernel, Power Management, Security and Virtualization

---------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250760
Video:
Etherpad: http://pad.linaro.org/p/hkg15-100
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org

Advertisement
Advertisement

More Related Content

Viewers also liked (20)

Advertisement

Similar to HKG15-100: What is Linaro working on - core development lightning talks (20)

More from Linaro (20)

Advertisement

HKG15-100: What is Linaro working on - core development lightning talks

  1. 1. Presented by Date Event What is Linaro working on? Core Development Group Core Engineering Linaro Core Development developers Monday Feb 9th Linaro Connect HKG15
  2. 2. Session 1 & 2: table of contents 1. Kernel WG 1.1. Android Upstreaming / John Stultz 1.2. U-Boot64 / Linus Walleij 1.3. ARMv8 / Deepak Saxena 1.4. ARM32/arm-soc maint. / Arnd Bergmann 1.5. Coresight / Mathieu Poirier 1.6. MMC / Ulf Hansson 2. Security WG 2.1. OP-TEE / Joakim Bech 1. Power Management WG 1.1. SoC idling / Ulf Hansson 1.2. EAS development / Mike Turquette & Alex Shi (LSK) 2. Virtualization 2.1. KVM/Christoffer Dall 2.2. QEMU/Peter Maydell 2.3. XEN / Julien Grall & Parth Dixit 3. Other topics 3.1. jic - the green-on-black JIRA client/Serge Broslavsky (PjM) 3.2. Testing in upstream board farms / Kevin Hilman (PMWG)
  3. 3. Session 1
  4. 4. Linaro Kernel WG. Core Development Group
  5. 5. Android Upstreaming by John Stultz
  6. 6. 1. Daniel’s FIQ work getting very close to merging 2. Portions of Kiran’s wakeup_source for usb phys’s merged 3. Lollipop using mempressure notifiers for low-memory- killer, and deprecated logger & alarm-dev 4. Binder out of staging, and officially merged in 3.19 5. Number of fixes from Linaro merged into Google’s android-3.14 common.git tree. Recent accomplishments
  7. 7. Work in progress 1. Finishing FIQ merging & FIQ/NMI-like functionality for ARMv8. 2. Pushing “Avoid kdb on panic” patch. 3. Research into running libbinder over kdbus. 4. Android Gadget conversion to ConfigFS Gadget. 5. Constraint aware allocator - cenalloc. 6. Groundwork for ADF/KMS effort.
  8. 8. Next steps 1. Continue pushing work in progress 2. Deprecate staging code that’s recently been obsoleted 3. Establish form-factor platforms for upstream development and validation 4. Continue following Google development kernels for linux-linaro and LSK 5. Continue working closely with Google devs & community
  9. 9. U-Boot64 by Linus Walleij
  10. 10. Recent accomplishments 1. Repair semihosting code broken in Linaro GCC 4.9- 2014.09 (merged upstream) 2. Volunteer to maintain semihosting for FVP and base models 3. Convert Versatile Express 64bit family to Kconfig (and generic board) 4. Add support for the ARM Juno Development Platform and demonstrate on real hardware
  11. 11. Work in progress 1. Upstream Kconfig changes. 2. Upstream fix for single CPU entry on multi-cluster machine MPIDR register workaround. 3. Upstream Juno Development Platform support. 4. Investigating PSCI dependencies - just stubs in U-Boot this should go into ARM Trusted Firmware instead we think.
  12. 12. Next steps 1. Ethernet boot support on the Juno Development Platform. 2. Persistent Storage (flash, SD card, internal USB disk) boot support on the Juno Development Platform. 3. More 64bit hardware support for U-Boot! 4. Compressed images - handled by the boot loader, make sure it works. 5. Access memory >4GB.
  13. 13. ARMv8 by Deepak Saxena
  14. 14. Work Summary 1. Audit/seccmp merged 2. Kprobes v5 patches posted 3. Uprobes work started 4. Kexec v7 patches posted 5. Validating KGDB functionality
  15. 15. ARM32 / arm-soc maintainership by Arnd Bergmann
  16. 16. arm-soc statistics patches contributors branches insertions deletions dts size mach-* size v3.18 914 158 108 26,895 9,748 217,687 437,771 v3.19-rc4 1,138 175 132 39,176 37,514 236,220 411,268 v3.17 977 157 103 41,384 44,571 205,366 441,565 v3.16 1,253 156 126 51,760 20,372 185,021 472,115
  17. 17. Work in progress 1. Complete armv6/armv7 multiplatform support: realview, msm, mmp, s3c64xx, dove, shmobile 2. Complete DT conversion: imx, mmp, omap3, orion5x, realview, s3c24xx, s3c64xx 3. 64-bit time_t (see separate session) 4. More general PCI implementation 5. More general IOMMU implementation
  18. 18. Coresight by Mathieu Poirier
  19. 19. Recent accomplishments 1. Framework and drivers accepted in the 3.19 merge window. 2. Support for 2 new platforms: vexpress-TC2 and D01. 3. Power management awareness currently under review on the mailing lists. 4. Integration of basic CoreSight testing in LAVA CI loop. 5. Work on ARMv8 is well underway.
  20. 20. Work in progress 1. ETMv4 driver support for ARMv8. 2. Juno support for CoreSight. 3. STM32/500 driver development. 4. Integration of CoreSight with Perf. 5. Back porting of the framework to LSK3.10/3.14. 6. Stand alone decoding library (ARM Ltd.).
  21. 21. Next steps 1. Upstream support for CoreSight on ARMv8. 2. Upstream ETMv4 and STM32/500 drivers. 3. Continue and finish integration with Perf. 4. Commence integration of CoreSight with Ftrace. 5. Integrate with trace decoding library from ARM Ltd.
  22. 22. MMC by Ulf Hansson
  23. 23. Recent accomplishments MMC core: 1. Refactoring, modernization and consolidation. 2. Bugfixes and various improvements. 3. Extended hardware reset support (3.20). 4. DT subnode parsing, mainly for embedded SDIO devices (3.20). 5. MMC Power Sequences (3.20) - finally! MMC host: 1. Increased amount of patches. From bugfixes to new features. 2. Support for 11 new MMC controllers (3.17 to 3.19).
  24. 24. Work in progress MMC core: 1. Periodic re-tuning for HS200, HS400 and SDR104. 2. Extended support for MMC Power Sequences. 3. Proposal of using dynamic frequency scaling. 4. Improvement of how to select I/O voltage level. 5. eMMC 5.x. Command Queuing, FFU, PSA etc. 6. SD 4.0, UHS II support. MMC host: 1. New host driver for Fujitsu SDHCI controller. 2. Bug fixes and new features.
  25. 25. Next steps 1. Refactoring, modernization and consolidation. 2. eMMC 5.x, SD 4.0. 3. Fix MMC Erase/Discard bugs! 4. Expect increased focus on SDIO.
  26. 26. Questions?
  27. 27. Linaro Security WG. Core Development Group
  28. 28. OP-TEE by Joakim Bech
  29. 29. Recent accomplishments 1. Porting OP-TEE: ARM Juno, STM Orly/Cannes, Allwinner A80, QEMU, FVP 2. Cryptographic abstraction layer in Trusted OS 3. GlobalPlatform - Secure Elements 4. ARMv8-A crypto extensions (SHA1, SHA256) 5. xtest - OP-TEE’s main test framework
  30. 30. Work in progress 1. Upstreaming OP-TEE’s Linux kernel device driver 2. GlobalPlatform Internal API v1.1 3. Enhancing Secure Storage 4. AArch64 support in the Trusted OS.
  31. 31. Next steps 1. GlobalPlatform Trusted UI v1.1 2. Multiple TA support 3. Signature verification of Trusted Applications 4. Enhancing testing
  32. 32. Questions?
  33. 33. Session 2
  34. 34. Linaro Power Management WG. Core Development Group
  35. 35. SoC idling by Ulf Hansson
  36. 36. Recent accomplishments Provide a reference runtime/system PM implementation on a SOC: ● Address corner cases in the PM core frameworks. ● Modernizing and improving the generic PM domain (aka genpd). ● Exynos and Ux500 SoCs use genpd and now serve as references.
  37. 37. Work in progress CPUIdle is about the CPU, not clusters! ● Today: CPU cores/clusters handled separately. ○ “Coupled-idle states”: OMAP4, Tegra. ○ MCPM. ○ SoC specific backend drivers. ● Tomorrow: SMP/HMP-awareness in ‘Idle’ core ○ CPUs, clusters, shared caches and interconnects. ○ Reduces SoC-specific code.
  38. 38. Next steps (1/2) SMP/HMP-aware Idle core ● The idea: Use genpd! ○ Supported by various PM maintainers. ○ genpd: can group devices into domains and can be nested. ○ genpd: is build on runtime PM, domains power off/on at runtime PM suspend/resume. ○ Group CPU devices into a genpd to model a CPU cluster domain. ○ One genpd for each cluster. ● The challenges: ○ Redesign genpd’s locking mechanism to deal with atomic context. ○ Optimize genpd to minimize latencies. ○ Integrate the genpd based solution with existing SoC-specific solutions. ○ Investigate use of scheduler topology information (introduced by EAS)
  39. 39. Next steps (2/2) Long-term goals ● Simplify deployment of runtime/system PM support. ○ Reduce duplicated code for drivers to implement runtime PM and suspend PM. ○ Decrease number of PM_* Kconfig options.
  40. 40. EAS devel by Mike Turquette (PMWG)
  41. 41. Recent accomplishments ● Merged CFS infrastructure & improvements: ○ git log --author=@linaro.org kernel/sched/ ● Tighter CPUidle and scheduler integration. ● Proved idle interrupt prediction can improve. ● Scheduler-driven CPU frequency selection proof of concept. ● Improved collaboration between developers hacking on EAS.
  42. 42. Work in progress ● CPU capacity rework awaiting review on LKML ● Improved interrupt prediction undergoing testing ○ Evolving from per-task to per-device tracking ● Experiments combining task placement with frequency selection ● Idle task behavior unification across archs ● SMP bringup, hotplugging and cpuidle suspend method unification
  43. 43. Next steps 1. Characterize power & performance 1.1. Backports will make it easier for members to run their own benchmarks and measurements 2. Iterate patches on LKML 3. Discuss it with you this week 4. Merge it upstream!
  44. 44. EAS backporting by Alex Shi (LSK)
  45. 45. Recent accomplishments 1. Backport CPUIdle/sched changes to 3.10 LTS a. CPU topology changes (Vincent) b. bL cpuidle, cpuidle-aware scheduler (Daniel, Nico) c. ARM’s Energy Model (Juri - ARM) d. many scheduler optimizations 2. Not backported: a. NUMA scheduling b. CPUFreq changes
  46. 46. Work in progress 1. Smoke testing in LAVA CI on Pandaboard/TC2 2. EAS-specific functional testing
  47. 47. Next steps 1. Establish a cadence to maintain the backport tree. 2. Backport new development (sched-cpufreq, sched-idle). 3. Help member company merge the EAS enhanced LTS with own platform support and incorporate their feedback into further development.
  48. 48. Questions?
  49. 49. Linaro Virtualization Eng. Team Core Development Group
  50. 50. KVM by Christoffer Dall
  51. 51. Recent accomplishments 1. Guest UEFI support (from LEG) 2. Guest migration 3. Dirty Page Logging 4. GICv3 support 5. Fixes and improvements
  52. 52. Work in progress 1. VM Spec compliance (UEFI, PCIe, hotplug, ACPI) 2. Guest Debug and gdbstub support 3. Platform device passthrough 4. IRQ Forwarding 5. Performance Monitors Unit (PMU) support
  53. 53. Next steps 1. Improved test infrastructure 2. Performance Measurements and optimizations 3. Cross CPU-type support (big.LITTLE systems) 4. PCIe passthrough 5. Leveraging ARMv8.1 improvements
  54. 54. QEMU by Peter Maydell
  55. 55. Recent accomplishments 1. Android Emulator (64-bit support, VirtIO, much closer to upstream QEMU than the “classic” emulator). 2. TrustZone emulation (32-bit). 3. Emulation of debug architecture (breakpoints, watchpoints, single stepping).
  56. 56. Work in progress 1. TCG multithreading: better performance when emulating SMP guests (work by GreenSocs and others). 2. PCI/PCIe support within VMs (by SUSE). 3. Further TrustZone work: AArch64, peripherals (GIC)
  57. 57. Next steps 1. Support the in-kernel GICv3 provided by KVM 2. Fully emulated GICv3 3. Android Emulator with OPTEE prototype 4. Threading support for user-mode emulation
  58. 58. XEN by Julien Grall and Parth Dixit
  59. 59. Recent accomplishments 1. AMD Seattle Support 2. Prototype of Xen on ACPI 3. UEFI booting 4. Xen 4.5 released in January
  60. 60. Work in progress 1. Xen on ACPI upstreaming 2. ACPI tables for SMMU (IORT), Xen, and more 3. In-guest UEFI 4. Platform device passthrough 5. Big Endian guest support 6. Improving support for existing ARM SoCs
  61. 61. Next steps 1. PCI Passthrough 2. GICv2m 3. Save/restore and live-migration 4. 64k pages guests support 5. Performance Monitors and Debug Architecture Support
  62. 62. Questions?
  63. 63. Other topics Core Development Group
  64. 64. jic the “green-on-black” JIRA client by Serge Broslavsky
  65. 65. jic | recent accomplishments 1. CLI porcelain mode 2. Basic issue creation / editing support 3. Keyring support for storing passwords (first contribution from outside Linaro!) 4. Offline mode 5. TBA
  66. 66. jic | work in progress 1. Full support for issue creation / editing 2. Reporting framework 3. Templating framework for output 4. Proper porcelain command set (at HKG15) 5. Engineer’s weekly report (at HKG15)
  67. 67. jic | next steps 1. Proper documentation: man pages, wiki 2. Reports according to different stakeholder’s needs 3. Issue lists 4. Offline editing 5. TBA
  68. 68. Board farm for upstream kernel Testing by Kevin Hilman
  69. 69. Background ● Lots of ARM platforms, boards ● Easy to break other platforms ● Not much upstream testing ● Needed early detection and warning of problems ● Target audience: ARM platform maintainers
  70. 70. What works ● Personal board farm: 50 boards, 19 unique SoC types (and growing) ● automatic build/boot testing for upstream kernel trees ● 140+ boot tests per kernel build ● report summary to mailing list: kernel-build- reports@lists.linaro.org ● bisect/report regressions to developers, maintainers
  71. 71. In Progress and Coming Soon ● Collaboration with Linaro LAVA Team ● Pushing results into database ● Web dashboard/API for results, log, searches ○ See: LAVA Team “Upstream Kernel CI” talk ● Support for multiple board farms ● running/reporting for arbitrary test suites ○ in-kernel: OF_SELFTEST, kselftest; external: LKP, LTP, etc. ● Advanced search/query ● Automated bisection of build and boot failures
  72. 72. Questions?
  73. 73. Presented by Date Event What is Linaro working on? Core Development Group Core Engineering Linaro Core Development developers Monday Feb 9th Linaro Connect HKG15

×