Status of Embedded Linux CELF Plenary Tim Bird

Status of Embedded Linux & CELF Plenary Tim Bird Sony Corporation CE Linux Forum Architecture Group Chair

Outline l l l Kernel Highlights CELF Technology Watch List Other news Status Resources CELF Information

Kernel Highlights l l l 2. 6. 24 highlights Coming in 2. 6. 25 Interesting patches on the horizon

2. 6. 24 Kernel highlights l Kernel markers l LTTng may be coming soon… l Security modules framework was removed l PM Quality of Service (QOS)

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

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

Technology Watchlist Review

Technology Watch List l CE Linux Forum maintains a list of technologies that we are "watching" l l 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: l l l http: //elinux. org/Technology_Watch_List We are deprecating the CELF wiki page. Page is out-of-date today, due to web site crash

Watchlist review l l l l l Linux-tiny Kpagemap Squash. FS AXFS Log. FS LTTng System. Tap KFT Kernel trace system l l l l Printk-times arch support App Armour Tomoyo Linux Powertop PM QOS Userspace IO Kernel HOWTO document translations Libdlna

Watchlist detail - Size l Linux-tiny l l Kpagemap l l l 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 Made 2. 6. 25 merge window!! CELF funded this work! Bloatwatch 2. 0 l Matt Mackall just released Bloatwatch 2. 0 l Tool to show kernel size regression (and to investigate size problems)

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

Watchlist detail - File systems l l Squash. FS AXFS Log. FS UBIFS

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

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

Log. FS l l l New flash filesystem to solve scalability problems with JFFS 2 Author is Jörn Engel Log. FS keeps filesystem meta-data on flash instead of in memory l l l 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 l See Jörn's presentation

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

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

Watchlist detail - Tracing l l LTTng (and Markers) System. Tap Kernel Function Trace (KFT) Printk-time arch support

LTTng l LTTng Status l l Markers infrastructure mainlined in 2. 6. 24 Next to mainline is actual LTTng core

Markers l Infrastructure in kernel for static instrumentation l l Kprobes are for dynamic instrumentation Goal is very low overhead when not in use l One compare, using immediate value l l 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 l l l System. Tap l Nice system, but compilation step was not cross-compile aware l Lineo Solutions demonstrated support for cross-execution here! l More work needed for other platforms (e. g. Kprobes for MIPS) Kernel Function Trace l Recent releases were broken on ARM l CELF hired new maintainer - Nicholas Mc. Guire l New maintainer reports successful trace on MX 31 processor l Need to rationalize with System Trace Printk-times arch support l Many platforms have bad timer resolution for printk times l CELF have fixes they should mainline

Watchlist detail - Security l Tomoyo Linux l l l LSM framework removed from kernel in 2. 6. 24 Has some impact on non-mainlined security systems App Armour l l LSM framework removed from kernel in 2. 6. 24 App. Armour group was let go from Novell l l See http: //www. news. com/8301 -13580_3 -979614039. html Smack included in 2. 6. 25 kernel

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

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

Watchlist - Real. Time l RT-preempt l l Ktimers was mainlined in 2. 6. 21 l Still working on ports to various platforms Remaining large pieces to mainline: l Threaded interrupts l Sleeping spinlocks l 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 l Kernel HOWTO document translations l l Chinese, Korean and Japanese translations are mainlined Libdlna l Supports all profiles except MPEG-4 and WMV

Watchlist update l l l 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 l l l Just a few items CELF members are working on Stuff not on official watch list Organized by technology area

Bootup Time l Embedded bootchart l Toshiba work - See Jamboree 18

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

Licensing l Noise over GPL 3. 0 has died down l l Kernel will stay GPL 2. x for now glibc 2. 6. 1 Release note l l 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 nonbug-fix release of the C Library will migrate to a newer LGPL version. See http: //sourceware. org/ml/libcannounce/2007/msg 00001. html

Graphics l CELF interested in Gst. Open. MAX l l Open. Max is a graphics framework API promoted by Khronos (with several large CE companies as members) Gst. Open. Max is an open source implementation of Open. Max on top of GTK

Middleware l DLNA l l l 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 l Android l l LIMO l l l Demo'ed and presented here Feb 4 - announced their Linux platform See LIMO press release l http: //www. limofoundation. org/press-releases/limo-pressreleases/limo-rolls-out-world-s-first-globally-competitivelinux-based-software-platform-for-mobile-devices. html New ARM Ultra-Mobile PC initiative: l See http: //www. linuxworld. com/news/2007/100407 montavista-arm-linux-umpc. html? nlhtos=100507 linuxalert 1

Status Resources l Linux. Devices. com l l LWN. net kernel pages l l l http: //lwn. net/Kernel/ Articles sorted by topic l http: //lwn. net/Kernel/Index/ Linux Weather Forecast l l http: //www. linuxdevices. com/ http: //www. linuxfoundation. org/en/Linux_Weather_Forecast CELF Technology Watch List page l http: //elinux. org/Technology_Watch_List

Some CELF Information

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 l June 23, 2003 l l Founder: Panasonic, Sony Initial board members: l l Hitachi, Toshiba, Sharp, Philips, Samsung, NEC, IBM About 50 member companies, now

CELF Basic Structure Board of Directors Marketing Group Architecture Group Technical Workgroup

Membership by Geography

Membership by Industry

Technical Work l Technical Workgroups Contract work Conferences Technical output Special Projects l Open Source Education l l

CELF Technical Working Groups

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

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

Boot Technologies l l Mission: Reduce boot up time Recent Projects: l l l Log. FS support Application pre-linking XIP

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

Memory Management l l Mission: Improve memory management systems of Linux, for embedded products Candidate Projects: l l l 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 l l Mission: Help reduce power usage Previous Projects: l l l Contract work to produce and mainline Power Management framework elements Have hosted BOFs and a PM Summit PM Quality-of-service feature

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

Security l l Mission: Enhance security for embedded devices Projects: l l Hardware donation to Linux security project CELF member work: l Embedded SELinux work

System Size l l Mission: Reduce memory utilization Projects: l l l System-wide memory profiling Linux-tiny revival Bloatwatch funding

Contract Work

Contractors l l l Matt Mackall Matt Locke Bill Traynor Michael Opdenacker Nicholas Mc. Guire Jörn Engel

Conferences

Conferences overview l l l Embedded Linux Conference (ELC) Ottawa Linux Symposium (OLS) Regional Jamborees ELC-Europe Japan trade shows

Embedded Linux Conference l l l Held April each year in San Jose, California Target audience is embedded Linux developers Is an open, community-oriented conference l l Not a trade show First conference with a focus on on embedded Linux l This year is our fourth year

Ottawa Linux Symposium l l Each year, CELF is a sponsor of the symposium CELF members gave several presentations and BOFs Hand out prizes, do demos, etc. Goal is to interact with other (non-embedded developers) and show them our issues

Regional Jamborees l Casual, one-day, one-track conferences held in regional areas Japan Regional Jamboree l Held every other month l Presentations and discussion in native language l Content is translated to English, after the event Jamboree #20 wil be held next week l These have great technical content l l l See http: //elinux. org/Events

ELC Europe l l Planned for November 6, 7 In Ede, The Netherlands Joint conference with NLUUG Call for sessions is already out l Check your bag for a paper

Technical Output

Review of technical output l l l Presentations and documents Patches Embedded Linux Wiki

Documents on Public wiki Document type Total New or updated this year Wiki page 607 248 PDF 357 117 Power. Point 97 25 Text file 91 47 Source archive 58 14 Patch file 78 8 1589 508 Total

Patches l l l Goal is always to push patches upstream CELF doesn't submit patches itself (except via its contractors) l Linux-tiny l RTC no-sync patches l kpagemap Encourage CELF members to submit directly to mainline projects l LTTng, Kprobes and System. Tap l RT-preempt work l Power Management Quality-of-Service l Board support

Special Projects

Special Projects l l Embedded Linux Wiki Hardware donations

Embedded Linux Wiki http: //elinux. org/

what it looks like

What elinux. org Is (and is not) l l l A new resource for the whole embedded Linux community Mostly technical documents and information, accumulated over years Not a CELF-only site l l Not an encyclopedia l l Not just for CE companies or for CELF members. elinux. org and Wikipedia are complimentary Not a news site

Site Status l l l About 490 pages with real content ~540 uploaded files ~350 registered users ~3400 page edits 285, 000 page views Currently showing a backup of content from February

Content highlights l l Boot time reduction Memory reduction Processor docs CELF specifications: l l power management, multimedia etc. Hardware hacking l l Real-time Toolchains Products running Linux Companies involved with Linux l l Vendors, Semi-conductor, CE Product companies Events

Hardware Donations l Architecture Group donates hardware to community developers l l l Example 1: Mobile phone to power management developer Example 2: Nokia tablet to security analysis tool author Working on a bunch of hardware for DLNA developers

Open Source education l White papers, articles and talks about why and how to participate in the Linux community

Closing Remarks l l It was nice to see you all this year. Keep up the good work. Linux is destined to dominate the embedded market! l Let's have fun doing it!

Thanks Questions?

Questions and Answers
- Slides: 76