760 likes | 784 Views
Status of Embedded Linux & CELF Plenary. Tim Bird Sony Corporation CE Linux Forum Architecture Group Chair. Outline. Kernel Highlights CELF Technology Watch List Other news Status Resources CELF Information. Kernel Highlights. 2.6.24 highlights Coming in 2.6.25
E N D
Status ofEmbedded Linux& CELF Plenary Tim Bird Sony Corporation CE Linux Forum Architecture Group Chair
Outline • Kernel Highlights • CELF Technology Watch List • Other news • Status Resources • CELF Information
Kernel Highlights • 2.6.24 highlights • Coming in 2.6.25 • Interesting patches on the horizon
2.6.24 Kernel highlights • Kernel markers • LTTng may be coming soon… • Security modules framework was removed • PM Quality of Service (QOS)
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
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/
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
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
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)
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
Watchlist detail - File systems • SquashFS • AXFS • LogFS • UBIFS
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!!
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.
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
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
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
Watchlist detail - Tracing • LTTng (and Markers) • SystemTap • Kernel Function Trace (KFT) • Printk-time arch support
LTTng • LTTng Status • Markers infrastructure mainlined in 2.6.24 • Next to mainline is actual LTTng core
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!!
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
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
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
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
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"
Watchlist detail - Miscellaneous • Kernel HOWTO document translations • Chinese, Korean and Japanese translations are mainlined • Libdlna • Supports all profiles except MPEG-4 and WMV
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
Additional Stuff • Just a few items CELF members are working on • Stuff not on official watch list • Organized by technology area
Bootup Time • Embedded bootchart • Toshiba work - See Jamboree18
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
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
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
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
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
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
CE Linux Forum The CE Linux Forum (CELF) is focused on the advancement of Linux as an open source platform for consumer electronics devices.
CELF History • June 23, 2003 • Founder: Panasonic, Sony • Initial board members: • Hitachi, Toshiba, Sharp, Philips, Samsung, NEC, IBM • About 50 member companies, now
CELF Basic Structure Board of Directors MarketingGroup Architecture Group Technical Workgroup Technical Workgroup
Technical Work • Technical Workgroups • Contract work • Conferences • Technical output • Special Projects • Open Source Education
Workgroups • Audio, Video, Graphics • Boot Technologies • Digital Television • Memory Management • Power Management • Real Time • Security • System Size
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
Boot Technologies • Mission: Reduce boot up time • Recent Projects: • LogFS support • Application pre-linking • XIP
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
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
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
Real Time • Mission: Enhance Real Time performance of Linux • Recent Projects: • RT-preempt patch validation • "Realtime testing best practices" document