Title: Status of Embedded Linux
1Status ofEmbedded Linux CELF Plenary
- Tim Bird
- Sony Corporation
- CE Linux Forum Architecture Group Chair
2Outline
- Kernel Highlights
- CELF Technology Watch List
- Other news
- Status Resources
- CELF Information
3Kernel Highlights
- 2.6.24 highlights
- Coming in 2.6.25
- Interesting patches on the horizon
42.6.24 Kernel highlights
- Kernel markers
- LTTng may be coming soon
- Security modules framework was removed
- PM Quality of Service (QOS)
5Coming in 2.6.25
- Here are a few things that made the merge window
- Kpagemap
- Matt Mackall's patches for fine-grained memory
instrumentation - More on this later
- Latency measurement API
- 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
6Interesting 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
RT-preempts 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/
7Technology Watchlist Review
8Technology 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
9Watchlist 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
10Watchlist detail - Size
- Linux-tiny
- 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
- Kpagemap
- 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)
11Kpagemap
- 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/memor
y-profiling.html - LWN.net article
- http//lwn.net/Articles/230975/
- Visualization tools
- http//selenic.com/repo/pagemap
12Watchlist detail - File systems
- SquashFS
- AXFS
- LogFS
- UBIFS
13SquashFS
- 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!!
14AXFS
- 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.
15LogFS
- 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
16LogFS - 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
17UBIFS - 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.linux-mtd.infradead.org/doc/ubifs_white
paper.pdf
18Watchlist detail - Tracing
- LTTng (and Markers)
- SystemTap
- Kernel Function Trace (KFT)
- Printk-time arch support
19LTTng
- LTTng Status
- Markers infrastructure mainlined in 2.6.24
- Next to mainline is actual LTTng core
20Markers
- 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!!
21Other 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
22Watchlist 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-9796140-39.ht
ml - Smack included in 2.6.25 kernel
23Watchlist 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
24Watchlist detail - 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 - PM QOS
- Merged in 2.6.24
- Wolfson voltage regulator stuff
25Watchlist - 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"
26Watchlist detail - Miscellaneous
- Kernel HOWTO document translations
- Chinese, Korean and Japanese translations are
mainlined - Libdlna
- Supports all profiles except MPEG-4 and WMV
27Watchlist 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
28Additional Stuff
- Just a few items CELF members are working on
- Stuff not on official watch list
- Organized by technology area
29Bootup Time
- Embedded bootchart
- Toshiba work - See Jamboree18
30System 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 - But people aren't entirely happy with it
- SLOB vs. SLAB size comparison
- On x86, 128M system
- SLOB yields 180K more runtime memory than SLAB
- On ARM 32M system
- SLOB yields 150K more runtime memory than SLAB
- Still a big desire to see SLOB results and usage
experience
31Licensing
- 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 non-bug-fix release of the C Library
will migrate to a newer LGPL version. - See http//sourceware.org/ml/libc-announce/2007/ms
g00001.html
32Graphics
- 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
33Middleware
- 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
34Mobile Phone stack wars
- Android
- Demo'ed and presented here
- LIMO
- Feb 4 - announced their Linux platform
- See LIMO press release
- http//www.limofoundation.org/press-releases/limo-
press-releases/limo-rolls-out-world-s-first-global
ly-competitive-linux-based-software-platform-for-m
obile-devices.html - New ARM Ultra-Mobile PC initiative
- See http//www.linuxworld.com/news/2007/100407-mon
tavista-arm-linux-umpc.html?nlhtos100507linuxaler
t1
35Status 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_F
orecast - CELF Technology Watch List page
- http//elinux.org/Technology_Watch_List
36Some CELF Information
37CE Linux Forum
The CE Linux Forum (CELF) is focused on the
advancement of Linux as an open source
platform for consumer electronics devices.
38CELF History
- June 23, 2003
- Founder Panasonic, Sony
- Initial board members
- Hitachi, Toshiba, Sharp, Philips, Samsung, NEC,
IBM - About 50 member companies, now
39CELF Basic Structure
Board of Directors
Marketing Group
Architecture Group
Technical Workgroup
Technical Workgroup
40Membership by Geography
41Membership by Industry
42Technical Work
- Technical Workgroups
- Contract work
- Conferences
- Technical output
- Special Projects
- Open Source Education
43CELF Technical Working Groups
44Workgroups
- Audio, Video, Graphics
- Boot Technologies
- Digital Television
- Memory Management
- Power Management
- Real Time
- Security
- System Size
45Audio, 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
46Boot Technologies
- Mission Reduce boot up time
- Recent Projects
- LogFS support
- Application pre-linking
- XIP
47Digital 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
48Memory 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
49Power 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
50Real Time
- Mission Enhance Real Time performance of Linux
- Recent Projects
- RT-preempt patch validation
- "Realtime testing best practices" document
51Security
- Mission Enhance security for embedded devices
- Projects
- Hardware donation to Linux security project
- CELF member work
- Embedded SELinux work
52System Size
- Mission Reduce memory utilization
- Projects
- System-wide memory profiling
- Linux-tiny revival
- Bloatwatch funding
53Contract Work
54Contractors
- Matt Mackall
- Matt Locke
- Bill Traynor
- Michael Opdenacker
- Nicholas McGuire
- Jörn Engel
55Conferences
56Conferences overview
- Embedded Linux Conference (ELC)
- Ottawa Linux Symposium (OLS)
- Regional Jamborees
- ELC-Europe
- Japan trade shows
57Embedded 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
58Ottawa 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
59Regional 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
60ELC 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
61Technical Output
62Review of technical output
- Presentations and documents
- Patches
- Embedded Linux Wiki
63Documents on Public wiki
64Patches
- 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
65Special Projects
66Special Projects
- Embedded Linux Wiki
- Hardware donations
67Embedded Linux Wiki
68what it looks like
69What 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 just for CE companies or for CELF members.
- Not an encyclopedia
- elinux.org and Wikipedia are complimentary
- Not a news site
70Site 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
71Content 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
72Hardware 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
73Open Source education
- White papers, articles and talks about why and
how to participate in the Linux community
74Closing Remarks
- It was nice to see you all this year.
- Keep up the good work.
-
Linux is destined to dominate the embedded market!
75 Thanks
76Questions and Answers