Embedded-Linux-BOF

Download Report

Transcript Embedded-Linux-BOF

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



Technical discussions about the kernel should be
moved here from linux-tiny, celinux-dev, and others
How to subscribe and access archives:


Lower traffic than LKML – should be much easier to watch
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



Goal is very low overhead when not in use



Kprobes are for dynamic instrumentation
Used by SystemTap and Linux Trace Toolkit(ng)
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


Latency measurement API


Matt Mackall's patches for fine-grained memory
instrumentation (more on next slide)
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/memoryprofiling.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



Bloatwatch 2.0



Recently got CONSOLE_TRANSLATIONS mainlined
Next logical patches are ETHTOOL and IGMP
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.linuxmtd.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




Compiler instrumentation of kernel functions (gcc mcount)
Support for multiple tracers
V16 submitted in mid-June


Ingo Molnar and Steven Rostedt are primary developers
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

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


Lineo Solutions has demonstrated support for cross-execution!
Security


LSM framework removed from kernel in 2.6.24
Has some impact on non-mainlined security
systems


App Armour has more bad news


Tomoyo Linux, App Amour
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-pressreleases/limo-rolls-out-world-s-first-globally-competitive-linux-basedsoftware-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



http://lwn.net/Kernel/
Articles sorted by topic
 http://lwn.net/Kernel/Index/
Linux Weather Forecast


http://www.linuxdevices.com/
http://www.linuxfoundation.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 )