340 likes | 353 Views
Embedded Linux BOF. Tim Bird Sony Corporation CE Linux Forum Architecture Group Chair Ottawa Linux Symposium – July 23, 2008. Outline. Big News! Kernel Version Highlights Technology Watch List Other news Status Resources Discussion. BIG Community News!!.
E N D
Embedded Linux BOF Tim Bird Sony Corporation CE Linux Forum Architecture Group Chair Ottawa Linux Symposium – July 23, 2008
Outline • Big News! • Kernel Version Highlights • Technology Watch List • Other news • Status Resources • Discussion
BIG Community News!! • linux-embedded mailing list has been created!! • There are now “Embedded Linux” maintainers!! • Based on Andrew Morton talk at Embedded Linux Conference, and succeeding discussion • Also, Andrew worked behind-the-scenes to help make these things happen
linux-embedded mailing list • Is now the main list for kernel-related embedded patches and discussion • Lower traffic than LKML – should be much easier to watch • Technical discussions about the kernel should be moved here from linux-tiny, celinux-dev, and others • How to subscribe and access archives: • http://vger.kernel.org/vger-lists.html#linux-embedded • You should subscribe!
New embedded Linux maintainers • Who: • David Woodhouse – MTD/JFFS2/OLPC guy • Paul Gortmaker – longtime kernel developer • What: • Keep track of patches and technology development related to embedded • Handle stuff that has no other home • See LWN.net interview of maintainers at: • http://lwn.net/Articles/284767/
Kernel Highlights • Previous kernel highlights • 2.6.26 highlights • Coming in 2.6.27 • Interesting patches (Tim’s list)
2.6.24 Kernel Highlights • Kernel markers • Loadable Security Modules framework was removed • PM Quality of Service (QOS)
Markers • Infrastructure in kernel for static instrumentation • Kprobes are for dynamic instrumentation • Used by SystemTap and Linux Trace Toolkit(ng) • 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 the kernel is running!! • New “tracepoint” feature (see Matthieu Desnoyer’s presentation – Friday 10:00)
2.6.25 Kernel Highlights • Kpagemap • Matt Mackall's patches for fine-grained memory instrumentation (more on next slide) • Latency measurement API • Support for LatencyTop • See http://lwn.net/Articles/266153 • SMACK - simple mandatory access control • New lightweight MAC system for kernel, by Casey Schaufler • Go to OLS Session Saturday at 10:00 for more info (“SMACK in embedded computing”)
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
2.6.26 kernel highlights • KGDB • Finally have a mainlined in-kernel debugger • Some clock framework, clock driver and CPUfreq stuff on ARM
Coming in 2.6.27 • FTrace? • Anyone…, anyone…?
Technology Review • Bootup Time • System Size • File Systems • Tracing • Security • Power Management • Real-Time • Middleware
Bootup Time • Async initlevels • New patch by Arjan van de Ven • Puts some driver initialization in parallel with other boot tasks • See http://lkml.org/lkml/2008/7/18/488
Size • Linux-tiny • Recently got CONSOLE_TRANSLATIONS mainlined • Next logical patches are ETHTOOL and IGMP • Bloatwatch 2.0 • At ELC 2008 (April), Matt Mackall released Bloatwatch 2.0 • Tool to show kernel size regression (and to investigate size problems) • See http://www.selenic.com/bloatwatch/ • Function Sections (see next page)
Function Sections • "Function sections" is a technique for reducing the size of the kernel image • Consists of patches by Denys Vlasenko to support “gcc -ffunction-sections -fdata-sections” • Places each function into it's own linker section • This allows the linker to do better dead code removal (using “ld –gc-sections”) • Denys reported that usage of this technique got him about a 10% reduction in kernel size (in some conditions)
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 • Has been a flurry of recent activity, leading up to Squashfs v. 4.0 • Phillip Lougher is working to mainline it • CELF is working to fund this effort
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 • Go to OLS Session Friday at 11:00 am for the latest info.
UBIFS • File system build on UBI (flash block) instead of block layer • Nokia recently (April) submitted v 3.0 for mainline inclusion • http://lwn.net/Articles/276025 • http://www.linux-mtd.infradead.org/doc/ubifs_whitepaper.pdf
LogFS • New flash filesystem by Jörn Engel to solve scalability problems with JFFS2 • 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
Tracing • FTrace • LTTng (and Markers) • SystemTap • Printk-time arch support
Function Trace (ftrace) • Isolation and generalization of latency-trace system from RT-preempt patch • Ingo Molnar and Steven Rostedt are primary developers • Compiler instrumentation of kernel functions (gcc -mcount) • Support for multiple tracers • V16 submitted in mid-June • Already in linux-tip • I should put KFT on top of FTrace
Other Tracers • LTTng Status • Markers infrastructure mainlined in 2.6.24 • Next to mainline is actual LTTng core • Go to OLS session Friday 10:00 for more info • SystemTap • Nice system, but compilation step was not cross-compile aware • Lineo Solutions has demonstrated support for cross-execution! • Work needed for embedded platforms (e.g. Kprobes for MIPS) • Go to OLS Session Thursday at 14:00 for a ScriptFest • Printk-times arch support • Many platforms have bad timer resolution for printk times
Security • LSM framework removed from kernel in 2.6.24 • Has some impact on non-mainlined security systems • Tomoyo Linux, App Amour • App Armour has more bad news • AppArmour group was let go from Novell • See http://www.news.com/8301-13580_3-9796140-39.html • Embedded SELinux (see next page)
Embedded SELinux • There has been much progress recently to support SELinux in the embedded space • Requires filesytem with extended attributes • Some flash filesystems do not support xattrs • Yuichi Nakamura has described an embedded configuration of SELinux in as little as 700K • See OLS Session Friday at 14:00 for more information
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 • Richard Woodruff did support for TI OMAP • (Hey other semi-conductor vendors, what are YOU doing??) • Clock Frameworks – need more arch support • Wolfson voltage regulator stuff • See ELC talks for presentations on all of the above – http://www.embeddedlinuxconference.com/
RealTime • RT-preempt • Latency tracer is being pushed to mainline • Remaining large pieces seem to have stalled getting to mainline: • Threaded interrupts • Sleeping spinlocks • Always needs tuning to make it work on a new platform • Tuning notes published at ELC 2008 (Frank Rowand) • Xenomai emulation layer for legacy RTOS application support
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 News • Open Handset Alliance and Android platform • Still waiting for deployment in phones • LIMO • Feb 4 - announced their Linux platform • Phones based on LIMO have shipped in Japan • 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 • OpenMoko becoming available • See Thursday Keynote – 16:00 • Nokia buys out Symbian with plans to make it available as open source (!!?)
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 • Embedded Linux Wiki • http://elinux.org/ • http://elinux.org/Technology_Watch_List
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 • Page is on elinux wiki: • http://elinux.org/Technology_Watch_List • Page is now up-to-date (mostly)
Open Discussion • Topics? • Taking control of the kernel from desktop and enterprise guys • My favorite quote this week from a mainframe guy: “Sorry for all the bloat the last couple of years…” • …
Thanks! You’re all invited to come to the CELF Embedded Developer BOF At the Westin Hotel Friday, July 25, 7:00 pm There will be prizes!!! (but no food )