Download
status of embedded linux celf plenary n.
Skip this Video
Loading SlideShow in 5 Seconds..
Status of Embedded Linux & CELF Plenary PowerPoint Presentation
Download Presentation
Status of Embedded Linux & CELF Plenary

Status of Embedded Linux & CELF Plenary

268 Views Download Presentation
Download Presentation

Status of Embedded Linux & CELF Plenary

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Status ofEmbedded Linux& CELF Plenary Tim Bird Sony Corporation CE Linux Forum Architecture Group Chair

  2. Outline • Kernel Highlights • CELF Technology Watch List • Other news • Status Resources • CELF Information

  3. Kernel Highlights • 2.6.24 highlights • Coming in 2.6.25 • Interesting patches on the horizon

  4. 2.6.24 Kernel highlights • Kernel markers • LTTng may be coming soon… • Security modules framework was removed • PM Quality of Service (QOS)

  5. Coming in 2.6.25 • Here are a few things that made the merge window • Kpagemap • Matt Mackall's patches for fine-grained memory instrumentation • More on this later • Latency measurement API • Support for LatencyTop • See http://lwn.net/Articles/266153 • Smack - simple mandatory access control • Need to see if it can makes sense to use in embedded

  6. Interesting patches • Here are a few things that appear to be coming • Latency trace system • Compiler instrumentation of kernel functions (gcc -mcount) • Support for multiple tracers • Steven Rostedt's isolation and generalization of RT-preempts latency-trace system • Mem_notify • Allows processes to avoid the OOM killer by responding to events and shrinking memory usage voluntarily • See http://lwn.net/Articles/266361/

  7. Technology Watchlist Review

  8. Technology Watch List • CE Linux Forum maintains a list of technologies that we are "watching" • Things we are interested in • Kind of like the Kernel Weather Forecast, but with focus on embedded • List is reported on and updated at CELF meetings • New page is on elinux wiki: • http://elinux.org/Technology_Watch_List • We are deprecating the CELF wiki page. • Page is out-of-date today, due to web site crash

  9. Linux-tiny Kpagemap SquashFS AXFS LogFS LTTng SystemTap KFT Kernel trace system Printk-times arch support App Armour Tomoyo Linux Powertop PM QOS Userspace IO Kernel HOWTO document translations Libdlna Watchlist review

  10. Watchlist detail - Size • Linux-tiny • CELF contracting with free-electrons (Michael Opdenacker - current Linux-tiny maintainer) • Some patches being mainlined by Thomas Petazzoni • See http://elinux.org/Linux_Tiny_Patch_Details • Kpagemap • Made 2.6.25 merge window!! • CELF funded this work! • Bloatwatch 2.0 • Matt Mackall just released Bloatwatch 2.0 • Tool to show kernel size regression (and to investigate size problems)

  11. Kpagemap • Can show details about every allocated (and virtual) page on the system • Introduces PSS and USS size metrics • PSS = Proportional Set Size • USS = Unique Set Size • Resources: • ELC presentation • http://selenic.com/repo/pagemap/raw-file/tip/memory-profiling.html • LWN.net article: • http://lwn.net/Articles/230975/ • Visualization tools: • http://selenic.com/repo/pagemap

  12. Watchlist detail - File systems • SquashFS • AXFS • LogFS • UBIFS

  13. SquashFS • Compressed read-only file system, with smaller compression than CramFS • Latest release is 3.3, released Feb 5, 2008 • Not mainlined. • Last attempt was several years ago. • Philip Lougher was planning to do it on 5th anniversary of project, but injured his hand • Any assistance you can give to Philip is appreciated!!

  14. AXFS • Advanced XIP file system • Can profile applications, and only use XIP on some blocks • Allows for fine-grained control over how much flash vs. RAM is used for an application set • Last mainline attempt was summer, 2007 • Jared said at ELC Europe (Nov, 2007) that he might try another mainline attempt soon.

  15. LogFS • New flash filesystem to solve scalability problems with JFFS2 • Author is Jörn Engel • LogFS keeps filesystem meta-data on flash instead of in memory • Does not need to read lots of meta-data on mount • This reduces mount time (and system boot time) • But, it has some outstanding problems • See Jörn's presentation

  16. LogFS - Status • See Jörn's talk • Not mainlined • Work is progressing • Since mid January LogFS does write-back caching of metadata, for a big performance boost • CELF is paying for work on the filesystem

  17. UBIFS - Status • File system build on UBI (flash block) instead of block layer • Recently submitted for mainline inclusion by Nokia • http://lwn.net/Articles/276025 • http://www.linux-mtd.infradead.org/doc/ubifs_whitepaper.pdf

  18. Watchlist detail - Tracing • LTTng (and Markers) • SystemTap • Kernel Function Trace (KFT) • Printk-time arch support

  19. LTTng • LTTng Status • Markers infrastructure mainlined in 2.6.24 • Next to mainline is actual LTTng core

  20. Markers • Infrastructure in kernel for static instrumentation • Kprobes are for dynamic instrumentation • Goal is very low overhead when not in use • One compare, using immediate value • No memory access or cache/TLB usage issues • There's a new system to replace immediate values in kernel code, while kernel is running!!

  21. Other Tracers and instrumentation • SystemTap • Nice system, but compilation step was not cross-compile aware • Lineo Solutions demonstrated support for cross-execution here! • More work needed for other platforms (e.g. Kprobes for MIPS) • Kernel Function Trace • Recent releases were broken on ARM • CELF hired new maintainer - Nicholas McGuire • New maintainer reports successful trace on MX31 processor • Need to rationalize with System Trace • Printk-times arch support • Many platforms have bad timer resolution for printk times • CELF have fixes they should mainline

  22. Watchlist detail - Security • Tomoyo Linux • LSM framework removed from kernel in 2.6.24 • Has some impact on non-mainlined security systems • App Armour • LSM framework removed from kernel in 2.6.24 • AppArmour group was let go from Novell • See http://www.news.com/8301-13580_3-9796140-39.html • Smack included in 2.6.25 kernel

  23. Watchlist detail - Security • Embedded SE Linux • Much progress recently • See talks by Nakamura and Kohei • Requires filesytem with xattrs • Embedded configuration in as little as 700K

  24. Watchlist detail - power management • Powertop • Shows timers and power state durations • Need support for CPUIdle, in order to show C-state (power state) activity for non-Intel processors • PM QOS • Merged in 2.6.24 • Wolfson voltage regulator stuff

  25. Watchlist - RealTime • RT-preempt • Ktimers was mainlined in 2.6.21 • Still working on ports to various platforms • Remaining large pieces to mainline: • Threaded interrupts • Sleeping spinlocks • Latency tracer • Latency tracer is actively being pushed to mainline • CELF has worked on publishing porting and test results, and documenting tuning and testing "best practices"

  26. Watchlist detail - Miscellaneous • Kernel HOWTO document translations • Chinese, Korean and Japanese translations are mainlined • Libdlna • Supports all profiles except MPEG-4 and WMV

  27. Watchlist update • Need to recover status into watchlist page after elinux.org web site crash • Should be done in a few weeks • Goal is to provide continuously updated information on key projects

  28. Additional Stuff • Just a few items CELF members are working on • Stuff not on official watch list • Organized by technology area

  29. Bootup Time • Embedded bootchart • Toshiba work - See Jamboree18

  30. System Size • SLUB vs. SLAB vs. SLOB • Both SLUB and SLOB have recently received some updates. • SLUB is now the default memory allocator for the kernel • But people aren't entirely happy with it • SLOB vs. SLAB size comparison • On x86, 128M system • SLOB yields 180K more runtime memory than SLAB • On ARM 32M system • SLOB yields 150K more runtime memory than SLAB • Still a big desire to see SLOB results and usage experience

  31. Licensing • Noise over GPL 3.0 has died down • Kernel will stay GPL 2.x for now • glibc 2.6.1 Release note • The 2.6 and 2.6.1 releases of the GNU C Library are licensed under the LGPL version 2.1, and GPL version 2.1 for the non-library programs included, or any later version. … We expect that the next non-bug-fix release of the C Library will migrate to a newer LGPL version. • See http://sourceware.org/ml/libc-announce/2007/msg00001.html

  32. Graphics • CELF interested in GstOpenMAX • OpenMax is a graphics framework API promoted by Khronos (with several large CE companies as members) • GstOpenMax is an open source implementation of OpenMax on top of GTK

  33. Middleware • DLNA • CELF hosted the first ever open source DLNA summit, in Linz Austria • CELF has donated several DLNA specifications to open source projects • New dlna-dev mailing list • In process of obtaining sample hardware for various DLNA projects • DLNA summit #2 planned for ELC-Europe 2008

  34. Mobile Phone stack wars • Android • Demo'ed and presented here • LIMO • Feb 4 - announced their Linux platform • See LIMO press release • http://www.limofoundation.org/press-releases/limo-press-releases/limo-rolls-out-world-s-first-globally-competitive-linux-based-software-platform-for-mobile-devices.html • New ARM Ultra-Mobile PC initiative: • See http://www.linuxworld.com/news/2007/100407-montavista-arm-linux-umpc.html?nlhtos=100507linuxalert1

  35. Status Resources • LinuxDevices.com • http://www.linuxdevices.com/ • LWN.net kernel pages • http://lwn.net/Kernel/ • Articles sorted by topic • http://lwn.net/Kernel/Index/ • Linux Weather Forecast • http://www.linux-foundation.org/en/Linux_Weather_Forecast • CELF Technology Watch List page • http://elinux.org/Technology_Watch_List

  36. Some CELF Information

  37. CE Linux Forum The CE Linux Forum (CELF) is focused on the advancement of Linux as an open source platform for consumer electronics devices.

  38. CELF History • June 23, 2003 • Founder: Panasonic, Sony • Initial board members: • Hitachi, Toshiba, Sharp, Philips, Samsung, NEC, IBM • About 50 member companies, now

  39. CELF Basic Structure Board of Directors MarketingGroup Architecture Group Technical Workgroup Technical Workgroup

  40. Membership by Geography

  41. Membership by Industry

  42. Technical Work • Technical Workgroups • Contract work • Conferences • Technical output • Special Projects • Open Source Education

  43. CELF Technical Working Groups

  44. Workgroups • Audio, Video, Graphics • Boot Technologies • Digital Television • Memory Management • Power Management • Real Time • Security • System Size

  45. Audio, Video, Graphics • Mission: Help develop and enhance standard AVG layers for different profiles • TV, handheld, etc. • Previous Projects: • Integration of DirectFB and UHAPI • GNOME Mobile and Embedded launch • DirectFB porting work

  46. Boot Technologies • Mission: Reduce boot up time • Recent Projects: • LogFS support • Application pre-linking • XIP

  47. Digital Television Profile • Mission: Help identify problem areas for DTV products, and fill gaps • Recent Projects: • DLNA open source project evaluation • DLNA community developer support • Sent DLNA specifications to community project leaders • Hosting the DLNA summit (2) in Europe

  48. Memory Management • Mission: Improve memory management systems of Linux, for embedded products • Candidate Projects: • NUMA for small systems • Compressed cache evaluation • Asymmetric nodes, variable page sizes • SLUB/SLOB scalability and node affinity work • Support for power-management control of memory extents

  49. Power Management • Mission: Help reduce power usage • Previous Projects: • Contract work to produce and mainline Power Management framework elements • Have hosted BOFs and a PM Summit • PM Quality-of-service feature

  50. Real Time • Mission: Enhance Real Time performance of Linux • Recent Projects: • RT-preempt patch validation • "Realtime testing best practices" document