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: 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:
Kernel Highlights Previous kernel highlights highlights Coming in Interesting patches (Tim’s list)
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)
Kernel Highlights Kpagemap Matt Mackall's patches for fine-grained memory instrumentation (more on next slide) Latency measurement API Support for LatencyTop See 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 profiling.html LWN.net article: Visualization tools:
kernel highlights KGDB Finally have a mainlined in-kernel debugger Some clock framework, clock driver and CPUfreq stuff on ARM
Coming in 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
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 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 mtd.infradead.org/doc/ubifs_whitepaper.pdf 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 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 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 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 –
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 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 LWN.net kernel pages Articles sorted by topic Linux Weather Forecast foundation.org/en/Linux_Weather_Forecast Embedded Linux Wiki
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: 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 )