スライド 1 - eLinux.org

advertisement
Status of
Embedded Linux
& CELF Plenary
Tim Bird
Sony Corporation
CE Linux Forum Architecture Group Chair
Outline





Kernel Highlights
CELF Technology Watch List
Other news
Status Resources
CELF Information
Kernel Highlights



2.6.24 highlights
Coming in 2.6.25
Interesting patches on the horizon
2.6.24 Kernel highlights

Kernel markers

LTTng may be coming soon…

Security modules framework was removed

PM Quality of Service (QOS)
Coming in 2.6.25


Here are a few things that made the merge window
Kpagemap



Latency measurement API


Matt Mackall's patches for fine-grained memory
instrumentation
More on this later
Support for LatencyTop
 See http://lwn.net/Articles/266153
Smack - simple mandatory access control

Need to see if it can makes sense to use in embedded
Interesting patches


Here are a few things that appear to be coming
Latency trace system




Compiler instrumentation of kernel functions (gcc -mcount)
Support for multiple tracers
Steven Rostedt's isolation and generalization of RTpreempts latency-trace system
Mem_notify


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

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
New page is on elinux wiki:



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









Linux-tiny
Kpagemap
SquashFS
AXFS
LogFS
LTTng
SystemTap
KFT
Kernel trace system








Printk-times arch
support
App Armour
Tomoyo Linux
Powertop
PM QOS
Userspace IO
Kernel HOWTO
document translations
Libdlna
Watchlist detail - Size

Linux-tiny




Kpagemap



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

Matt Mackall just released Bloatwatch 2.0
 Tool to show kernel size regression (and to investigate size
problems)
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
Watchlist detail - 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
Not mainlined.



Last attempt was several years ago.
Philip Lougher was planning to do it on 5th
anniversary of project, but injured his hand
Any assistance you can give to Philip is
appreciated!!
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
Last mainline attempt was summer, 2007

Jared said at ELC Europe (Nov, 2007) that he
might try another mainline attempt soon.
LogFS



New flash filesystem to solve scalability
problems with JFFS2
Author is Jörn Engel
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

See Jörn's presentation
LogFS - Status



See Jörn's talk
Not mainlined
Work is progressing


Since mid January LogFS does write-back
caching of metadata, for a big performance boost
CELF is paying for work on the filesystem
UBIFS - Status


File system build on UBI (flash block) instead
of block layer
Recently submitted for mainline inclusion by
Nokia


http://lwn.net/Articles/276025
http://www.linuxmtd.infradead.org/doc/ubifs_whitepaper.pdf
Watchlist detail - Tracing




LTTng (and Markers)
SystemTap
Kernel Function Trace (KFT)
Printk-time arch support
LTTng

LTTng Status


Markers infrastructure mainlined in 2.6.24
Next to mainline is actual LTTng core
Markers

Infrastructure in kernel for static
instrumentation


Kprobes are for dynamic instrumentation
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 kernel is running!!
Other Tracers and
instrumentation



SystemTap
 Nice system, but compilation step was not cross-compile aware
 Lineo Solutions demonstrated support for cross-execution here!
 More work needed for other platforms (e.g. Kprobes for MIPS)
Kernel Function Trace
 Recent releases were broken on ARM
 CELF hired new maintainer - Nicholas McGuire
 New maintainer reports successful trace on MX31 processor
 Need to rationalize with System Trace
Printk-times arch support
 Many platforms have bad timer resolution for printk times
 CELF have fixes they should mainline
Watchlist detail - Security

Tomoyo Linux



LSM framework removed from kernel in 2.6.24
Has some impact on non-mainlined security
systems
App Armour


LSM framework removed from kernel in 2.6.24
AppArmour group was let go from Novell


See http://www.news.com/8301-13580_3-979614039.html
Smack included in 2.6.25 kernel
Watchlist detail - Security

Embedded SE Linux

Much progress recently



See talks by Nakamura and Kohei
Requires filesytem with xattrs
Embedded configuration in as little as 700K
Watchlist detail - power
management

Powertop

Shows timers and power state durations


PM QOS


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 - RealTime

RT-preempt

Ktimers was mainlined in 2.6.21
Still working on ports to various platforms
Remaining large pieces to mainline:
 Threaded interrupts
 Sleeping spinlocks
 Latency tracer
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

Kernel HOWTO document translations


Chinese, Korean and Japanese translations are
mainlined
Libdlna

Supports all profiles except MPEG-4 and WMV
Watchlist update



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



Just a few items CELF members are working
on
Stuff not on official watch list
Organized by technology area
Bootup Time

Embedded bootchart

Toshiba work - See Jamboree18
System Size

SLUB vs. SLAB vs. SLOB
 Both SLUB and SLOB have recently received some updates.
 SLUB is now the default memory allocator for the kernel


SLOB vs. SLAB size comparison
 On x86, 128M system


SLOB yields 180K more runtime memory than SLAB
On ARM 32M system


But people aren't entirely happy with it
SLOB yields 150K more runtime memory than SLAB
Still a big desire to see SLOB results and usage
experience
Licensing

Noise over GPL 3.0 has died down


Kernel will stay GPL 2.x for now
glibc 2.6.1 Release note


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/msg00001.html
Graphics

CELF interested in GstOpenMAX


OpenMax is a graphics framework API promoted
by Khronos (with several large CE companies as
members)
GstOpenMax is an open source implementation of
OpenMax on top of GTK
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 stack wars

Android


LIMO



Demo'ed and presented here
Feb 4 - announced their Linux platform
See LIMO press release
 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:

See http://www.linuxworld.com/news/2007/100407montavista-arm-linux-umpc.html?nlhtos=100507linuxalert1
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
CELF Technology Watch List page

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

June 23, 2003


Founder: Panasonic, Sony
Initial board members:


Hitachi, Toshiba, Sharp, Philips, Samsung, NEC, IBM
About 50 member companies, now
CELF Basic Structure
Board of Directors
Marketing Group
Architecture Group
Technical Workgroup
Technical Workgroup
Membership by Geography
2%
31%
Asia
Europe
United States
56%
11%
Australia
Membership by Industry
30%
40%
Consumer Electronics
Semiconductor
Software
30%
Technical Work

Technical Workgroups
Contract work
Conferences
Technical output
Special Projects

Open Source Education




CELF Technical
Working Groups
Workgroups








Audio, Video, Graphics
Boot Technologies
Digital Television
Memory Management
Power Management
Real Time
Security
System Size
Audio, Video, Graphics

Mission: Help develop and enhance standard
AVG layers for different profiles


TV, handheld, etc.
Previous Projects:



Integration of DirectFB and UHAPI
GNOME Mobile and Embedded launch
DirectFB porting work
Boot Technologies


Mission: Reduce boot up time
Recent Projects:



LogFS support
Application pre-linking
XIP
Digital Television Profile


Mission: Help identify problem areas for DTV
products, and fill gaps
Recent Projects:


DLNA open source project evaluation
DLNA community developer support


Sent DLNA specifications to community project
leaders
Hosting the DLNA summit (2) in Europe
Memory Management


Mission: Improve memory management systems of
Linux, for embedded products
Candidate Projects:





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


Mission: Help reduce power usage
Previous Projects:



Contract work to produce and mainline Power
Management framework elements
Have hosted BOFs and a PM Summit
PM Quality-of-service feature
Real Time


Mission: Enhance Real Time performance of
Linux
Recent Projects:


RT-preempt patch validation
"Realtime testing best practices" document
Security


Mission: Enhance security for embedded
devices
Projects:


Hardware donation to Linux security project
CELF member work:

Embedded SELinux work
System Size


Mission: Reduce memory utilization
Projects:



System-wide memory profiling
Linux-tiny revival
Bloatwatch funding
Contract Work
Contractors






Matt Mackall
Matt Locke
Bill Traynor
Michael Opdenacker
Nicholas McGuire
Jörn Engel
Conferences
Conferences overview





Embedded Linux Conference (ELC)
Ottawa Linux Symposium (OLS)
Regional Jamborees
ELC-Europe
Japan trade shows
Embedded Linux Conference



Held April each year in San Jose, California
Target audience is embedded Linux developers
Is an open, community-oriented conference


Not a trade show
First conference with a focus on on embedded Linux

This year is our fourth year
Ottawa Linux Symposium




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

Casual, one-day, one-track conferences held
in regional areas
Japan Regional Jamboree

Held every other month
 Presentations and discussion in native language
 Content is translated to English, after the event
Jamboree #20 wil be held next week

These have great technical content



See http://elinux.org/Events
ELC Europe




Planned for November 6,7
In Ede, The Netherlands
Joint conference with NLUUG
Call for sessions is already out

Check your bag for a paper
Technical Output
Review of technical output



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
PowerPoint
97
25
Text file
91
47
Source archive
58
14
Patch file
78
8
1589
508
Total
Patches



Goal is always to push patches upstream
CELF doesn't submit patches itself (except via its contractors)
 Linux-tiny
 RTC no-sync patches
 kpagemap
Encourage CELF members to submit directly to mainline projects
 LTTng, Kprobes and SystemTap
 RT-preempt work
 Power Management Quality-of-Service
 Board support
Special Projects
Special Projects


Embedded Linux Wiki
Hardware donations
Embedded Linux Wiki
http://elinux.org/
what it looks like
What elinux.org Is (and is not)



A new resource for the whole embedded Linux
community
Mostly technical documents and information,
accumulated over years
Not a CELF-only site


Not an encyclopedia


Not just for CE companies or for CELF members.
elinux.org and Wikipedia are complimentary
Not a news site
Site Status






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




Boot time reduction
Memory reduction
Processor docs
CELF specifications:




power management,
multimedia
etc.
Hardware hacking




Real-time
Toolchains
Products running Linux
Companies involved with
Linux


Vendors, Semi-conductor,
CE Product companies
Events
Hardware Donations

Architecture Group donates hardware to
community developers



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

White papers, articles and talks about why
and how to participate in the Linux
community
Closing Remarks


It was nice to see you all this year.
Keep up the good work.
Linux is destined to dominate
the embedded market!

Let's have fun doing it!
Thanks
Questions?
Questions and
Answers
Download