Kernel

Summary

  • Tuning and performance
    • Architecture
      • A15
      • SMP Support
        • SMP vfp / neon lazy switching
    • Media tuning (block device, eSATA, SDXC etc)
  • Consolidation
    • Device Tree
    • Android kernel de-forking
    • Buffer / memory management (may focus on this in the Graphics and Multimedia group)

Requirements

  • Physical memory
    • Evictable memory regions
    • contiguous allocations
    • hotplug and buffer handling
  • Storage performance optimizations
    • Block layer enhancements
    • Block I/O scheduler enhancements etc.
    • Performance optimizations for SD/MMC read/write operations.
    • Performance improvements for SDIO to improve the throughput.
    • SDXC controller support
    • eSATA stack support.
  • Cortex-A15 early support in kernel.org
  • Investigate optimised gettimeofday() using kuser helper and architected timers on Cortex-A15
    • This can be configured to be user accessible
    • This is happening in ARM, but unsure of delivery date
  • Investigate support for Lazy VFP context switching on SMP
    • The kernel currently save the VFP registers at every context switch in case a thread is migrated to a different CPU
    • IDEA: Would make a good Linaro@UDS topic
  • Fix existing LTP regressions and failures on ARM
  • Investigate putting CPUs back into ‘boot-loader mode’ when they are offlined.
    • Onlining a CPU is then the same as rebooting, so everything is started from scratch
    • Change setup_mm_for_reboot() so we correctly disable the MMU
    • This is closely related to kexec work in this area (see patches from Per Forlin)
  • Media Controller Framework adaptation for Display Driver.
  • Porting DMA Engine to ARM platforms.
  • Device trees
  • Standard architecture.
  • Android (we actually got some function upstream that the Android guys are interested in using!).
  • kexec.
  • KVM
    • A15 based, use hardware when available
    • Kernel parts may be done by ARM, user portions should be done by Linaro
  • Kernel benchmarking tools
  • Buffer management (see ../../2011-03-15/EfficientBufferManagement)

  • [HI] Die variants management (fuses). Define a common framework. Linux Kernel, uboot, user tools.
    • Read fuses
    • Write fuses
    • Device tree

IBM future topics. Kernel topics of possible interest to Linaro that non-Linaro

  • Workload management
  • cgroups based process grouping
  • CPU Scheduler
  • Shares based division of cpu resource among task-groups
  • Hard limit cpu resource usage (e.g., for energy savings)
  • Reservations or guarantee for task-groups
  • Memory controller
  • Limit memory usage by task groups
  • Tracing enhancements for scheduler (ongoing work this year)
  • Gang scheduling ?
  • Light-weight CPU hotplug (may be of interest to reduce power)
  • Jitter reduction/analysis (may be interest to reduce power)
  • Checkpoint/restart
  • KVM
  • Realtime

Boot Loader

  • Continue to mature the mainline Uboot with additional features like USB, Ethernet etc.
  • UEFI
  • [HI] Die variants management (fuses). Define a common framework. Linux Kernel, uboot, user tools.
    • Read fuses
    • Write fuses
    • Device tree

ACTION: Consolidate ARM's FDT into platform requirements

TSC/2011-03-16/Kernel (last modified 2011-03-25 14:58:28)