State of embedded Linux June 2010 update by 67Um7Azx

VIEWS: 11 PAGES: 29

									Status of Embedded
Linux

   Embedded Linux
      Update
     June, 2010

             Tim Bird
   CELF Architecture Group Chair
       Outline

   Kernel Versions
   Technology Areas
   Embedded Distributions
   Resources
Linux Kernel Versions
         Kernel Versions

   Linux v2.6.30 – 10 June 2009
   Linux v2.6.31 – 9 Sep 2009
   Linux v2.6.32 – 2 Dec 2009
   Linux v2.6.33 – 24 Feb 2010
   Linux v2.6.34 – 16 May 2010
       5 kernels in 11 months
   Linux v2.6.35 merge window just closed
       2.6.35-rc1 – 30 May 2010
       Linux v2.6.34

   LogFS
   Asynchronous Suspend/Resume
   Memory threshold notifications for cgroups
         Linux v2.6.35-rc1 (expected)

   Ramoops driver
       Records oops to persistent RAM so it can be
        recovered later
           Maybe obsoletes pramfs?
       http://lwn.net/Articles/377890
   Tracepoint size reduction
       Shrinks size of kernel with tracepoints turned on
        by about 100K
       http://lwn.net/Articles/386331
   Section renaming to support –ffunction-
    sections
         Patches to watch

   Speed up symbol resolution during module
    loading
       Sorts symbol table and avoid linear lookup cost
        per symbol when loading a module
       Developer, Alan Jenkins, reports saving 20% of
        time on coldboot
           Depends on modules being loaded
       Did not make it into 2.6.33
       Alan said he’ll try to mainline it again
         Patches to watch (cont.)‫‏‬

   Suspend blockers
       Android opportunistic suspend patches
        (successor to wake locks)
           More on this later
Technology Areas
       Technology Areas

   File Systems
   Power Management
   Real-time
   System Size
   Tracing
            File Systems

   SquashFS
       Patches for LZMA support were submitted to
        kernel mailing list in late 2009, but they missed
        the merge window
           See http://lkml.org/lkmlk/2009/12/10/456
           Linus wants lzma library access refactored
       LGE (Chan Jeong) recently submitted patches for
        LZO support
           Phillip said he'd mainline them
           See http://old.nabble.com/-PATCH-1-2--
            Squashfs:-add-LZO-decompression-support-
            to28591383.html
         File systems (cont.)

   UBIFS
       Toshiba has reported on performance of this
       LGE says they are using UBIFS in product, in
        part because it boots faster than YAFFS2
       CELF has contracted with Free Electrons to
        measure UBIFS mount times and find problem
        areas
         File systems (cont.)

   LogFS
       Log-structured file system which keeps meta-data on flash
          Mounts really fast (no need to build in-memory tables to
            start accessing)
       http://www.logfs.org/
          Also Documentation/filesystems/logfs.txt
       Mainlined (after much work) in 2.6.34
       CELF supported this a few years ago
       Introduction
          http://lwn.net/Articles/234441/
       Announcement of mainlining
          http://lwn.net/Articles/377741
         File systems (cont.)

   LogFS is new, and it really needs testing
       Please try it out and report back!
         Power Management

   Suspend Blockers submission by Google
       Successor to wake locks
       Lots of discussion – no resolution yet
         See http://lwn.net/Articles/388131
         and http://lwn.net/Articles/389407
         And especially http://lwn.net/Articles/390392
       Last thing I saw were counter-proposals to utilize
        PM QOS system to push some “suspend
        blocker” functionality outside of kernel
         See http://lkml.org/lkml/2010/5/29/77 for Alan Stern's
          proposal
         See http://lkml.org/lkml/2010/5/30/83 for Mark Gross'
          proposal
         Real-time

   Work continues on improving RT performance
    on embedded platforms
   General work lately consists of removing Big
    Kernel Lock
       CELF considered funding this, but it looks like it
        will happen without a funded project
       See http://lwn.net/Articles/380174/
   Frank Rowand has good information about
    using RT-preempt
       See Frank’s presentation from ELC 2010:
       http://elinux.org/images/b/be/Real_time_linux_failure.pdf
   More info coming to eLinux wiki soon!
         System Size / Memory

   Compression
       LZO kernel image compression
       It was merged in 2.6.33
   Ramzswap – (aka compcache)
       made the 2.6.33 merge window
       See http://lwn.net/Articles/334649
         System Size / Memory (cont.)

   Memory threshhold notifications in
    cgroups:
       Can use cgroups to get notifications of
        memory problems on a per-app or app-group
        basis
       Merged in 2.6.34
       http://git.kernel.org/?p=linux/kernel/git/torvalds/
        linux-
        2.6.git;a=commitdiff;h=2e72b6347c9459e6cff5
        634ddc815485bae6985f
       See Documentation/cgroups/memory.txt
        System Size / Memory (cont.)

   New allocator “SLEB” was proposed
   SLEB was rejected
     Linus says he won't take a new allocator
      until another one is removed
          http://lwn.net/Articles/389402/
   New plan is to incrementally improve SLAB, if
    possible, while trying to avoid regressions
      http://thread.gmane.org/gmane.linux.kernel.
       mm/48515
           Tracing

   Ftrace
       Proposal to merge ftrace and perf ring-buffer code
          Ingo not very enthusiastic
       Lots of code may move from ftrace to perf
          http://lwn.net/Articles/388978/
       Trace-cmd and kernelshark
          New command line and GUI tools
          See presentations from ELC and Collab summit

   Perf
       Support for data interpretation on a different machine
          “perf archive”

   CELF project to create a trace format data standard
  Embedded
Distributions
          Android

   Android 2.1 SDK (Eclair) released (28 Oct 2009)
   Number of devices still increasing
       Non-phones starting to appear (tablets and TVs)
       Google TV / Sony Internet TV
   Android patches removed from mainline kernel
    (2.6.33)
       Greg Kroah-Hartman talked about this at ELC
          http://elinux.org/images/c/ca/Gregkh-android-presentation-
           kernel.pdf
       Google and kernel developers had private meeting at
        Collaboration Summit, and hashed out some issues
        Android (cont.)

   Froyo (v2.2) features discussed at Google I/O
       Dalvik now has a Just-In-Time compiler
           “Froyo runs apps up to 450% faster” (really?)
           Actual Google I/O demo of popular game looked
            about 40% faster (in terms of frames per second)
               Still very good
       Flash support
       WiFi tethering
       Batch app upgrade
       Faster Javascript
         Meego

   Moblin + Maemo = Meego
   Intel and Nokia joining forces to create single
    embedded distribution
       See http://meego.com/
   Lots of stuff about this at ELC and Collab
    summit
   Early (partial) release was March 31
   Full release of Meego 1.0 was May 25
         Ubuntu

   Ubuntu netbook
       Now working towards targeting ARM
       Some rumors of them support Android apps
       Canonical is working to support appliances
       Have new “Unity” netbook interface
   “Ubuntu Light” targeted at instant-on
         WebOS

   HP buys Palm and now owns WebOS
       OS used on current Palm Pre
       Expected to ship on tablets by end of year
   I haven’t seen an WebOS opensource site
         New Consortium

   Linaro
       http://www.linaro.org/
       Focused on technologies and improvements of
        Linux for ARM platforms
           Seems like “CELF for ARM”
       It’s not entirely clear exactly what they are going
        to do
          Resources

   LWN.net
       http://www.lwn.net/
       If you are not a subscriber, please do so
       This is an invaluable community resource that
        needs your support
       Prices just went up a bit ($7 per month vs. $5 per
        month for professional subscription)
   eLinux wiki
       http://elinux.org/
   Linux-embedded mailing list
       http://vger.kernel.org/vger-lists.html#linux-
        embedded
Thanks!

								
To top