Upload
peterbuck
View
672
Download
8
Embed Size (px)
Citation preview
Embedded Linux BOF
Tim BirdSony 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 guysMy 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 )