スライド 1 - eLinux.org

Status of Embedded
Linux
Embedded Linux
Community News
December 2010
Tim Bird
CELF Architecture Group Chair
Slide 1 of 30
Agenda
•
•
•
•
•
•
Technology quick update
Embedded Linux Summit report
CE flag version
Yocto
Upcoming conferences
Miscellaneous news
Slide 2 of 30
Technology status (quick
updates)
•
•
•
•
Stable tracing APIs
TTY-based group scheduling
Checkpoint/restart for applications
Bootchart2
Slide 3 of 30
Stable tracing APIs
•
•
•
Goal is to designate certain tracepoints as
stable, and make them available long-term to
user space
Some people want stable API and others
don’t
Decided at Kernel Summit to do it, but then
negative feedback was received on kernel
mailing list
Slide 4 of 30
TTY-based group scheduling
•
•
•
•
Automatically places processes in control
groups, based on controlling TTY
Then implements “fairer” scheduling between
control groups
Prevents a kernel compile from interfering too
much with interactive tasks
Uses a scheduling mechanism that has been
in the kernel for a long time (control groups)
– Which, IMHO, demonstrates that there’s a lot of
technology in the kernel that is going unused in
embedded
Slide 5 of 30
Checkpoint/Restart
•
•
•
•
Ability to checkpoint and restart (like suspend
and resume) an application
System retains open files, memory maps,
signals, and other kernel-managed resources
Primary goals are robustness (recovery) and
runtime application migration
I want to use it to improve boot-up time (on a
per-application basis)
– I can’t help it, I instinctively look for boot time
improvements
Slide 6 of 30
Bootchart 2
•
Rewrite of most bootchart elements:
– Capture is in C instead of shell script
– Visualizer is in python instead of Java
– Lots of bugfixes and improvements to
visualization
• example: transparency for CPU utilization – in
•
original bootchart this showed 0 utilization lots of
times when it was not appropriate
Looking at using trace events instead of
polling
– Should improve performance and accuracy
• (Note – would be nice to have stable tracepoints)
Slide 7 of 30
Syslink
•
•
•
Interprocessor communication mechanism
Would be really nice to have a standard
system in Linux for IPC between cores in
multi-core systems
TI willing to donate syslink, but it needs a lot
of modification to be accepted into mainline
– Much discussion at Plumbers about alternatives
•
and possible solutions
Is something to watch
Slide 8 of 30
Embedded Linux Summit
• Meeting of CE vendors, semi-conductor
vendors, Linux vendors, community leaders
• Held one in Japan – September 30, after
LinuxCon
• Held one in Cambridge, UK – October 26,
before ELCE
Slide 9 of 30
Embedded Linux Summit
(cont.)
• Some key initiatives
– Legal wording for IP procurement, to promote
open source driver availability
– CE Flag Version – a longterm maintained version
of the Linux kernel
– Information base of IP blocks and corresponding
drivers
– Projects to decrease embedded Linux distro and
tools fragmentation
Slide 10 of 30
IP procurement language
• Some companies saying that not enough
customers were asking for open source
drivers to justify cost of writing them
• CE and semi-conductor companies will try to
use language in their procurement contracts
which encourages suppliers to provide open
source drivers
– HP has done this successfully
– Language is not binding
– Supplier has to “opt out”, which means they have
received the message that open source drivers
are desirable
Slide 11 of 30
CE Flag Version
• Problem:
– Embedded groups have lots of different kernel
•
versions
– Some versions are supplied by semiconductor
vendors, and it is hard to change because porting
drivers would be required
– Would decrease integration cost to CE
companies if supply chain used fewer kernel
versions
Solution:
– Designate specific kernel version for a period of
time, and try to focus supply chain on that version
Slide 12 of 30
Flag Version details
•
•
Decided to promote kernel version 2.6.35
Strange confluence of many players at once:
•
Andi Kleen is the maintainer of the branch
• See http://lkml.org/lkml/2010/12/3/35
To be called “longterm” (not “stable”)
•
•
• Android, Linaro, Meego, Sony
– GregKH making some changes to how stable is
maintained
Longterm branches use same rules as stable
• See Documentation/stable_kernel_rules.txt
Slide 13 of 30
Yocto project
• Intel /Linux Foundation publicly announced Yocto
•
project at ELCE
Attempt to consolidate effort on a single build
system, and other development tools
–
Chose Poky, which is an Open Embedded derivative
–
–
TI, Palm/WebOS, Dell
MontaVista, Wind River, Mentor Graphics
–
Some issues with governance and relationship with Open
Embedded
Look for LWN.net article soon
• OpenEmbedded seems to have critical mass
• Important Yocto meeting held
–
Slide 14 of 30
Upcoming conferences
• Embedded Linux Conference 2011
– April 11-13 - in San Francisco
– CFP should go out soon
• Had to delay because of web site transition with
Linux Foundation
• LinuxCon Japan 2011
– June 1-3 - in Yokohama
• ELC Europe 2011
– October 26-28 - in Prague
Slide 15 of 30
Consortia
• Linaro
– Released Linaro 10.11
– Have a nice roadmap of technical features they
want to accomplish
– Tool and Kernel highlights:
•
•
•
•
Support for valgrind on ARM
Support for Neon instructions
Assist in mainlining Android patches
Are working to get ARM device trees mainlined
(shooting for 2.6.39)
• CELF and Linux Founding are merging
– Lots of legal details being taken care of
• Agreements from all contractors
Slide 16 of 30
Miscellaneous News
• Mentor Graphics acquires CodeSourcery
• Sony ships Sony Internet TV
– First non-phone Android product endorsed by
Google
• Google ships Android Gingerbread SDK
Slide 17 of 30
Status of CELF work
Slide 18 of 30
Agenda (CELF work)
•
•
•
CELF contract work
Open Project Proposal
Hardware donations
Slide 19 of 30
Contract work completed this
year
•
•
•
•
•
•
ARM enhancements for U-boot
Smemcap in busybox
Bootchart in busybox
Most of function-sections work mainlined
SquashFS LZO support (not a CELF
contract, but an LG kernel contribution)
Flash filesystem testing
– Was presented and discussed at ELCE
Slide 20 of 30
Contract work of interest
•
•
•
YAFFS mainline
Trace format standard
RT-preempt online training
Slide 21 of 30
Mainline YAFFS2
• Description:
– YAFFS2 is a popular NAND flash filesystem
• Is used by Android
– Add support for YAFFS2 to mainline kernel
• Contractor: Aleph One Ltd
• Google is Co-Sponsoring this project
• Status:
– Several patch sets have been submitted to
mainline
– Were reviewed by IBM Linaro rep (Arnd
Bergman)
– Are still hoping for acceptance by end of the year.
Slide 22 of 30
Trace format standard
• Description:
– Create a single trace format standard for the
embedded industry
• Contractor: Efficios (Matthieu Desnoyers)
• Status:
– Matthieu published several drafts of the Trace
Format document.
– It was reviewed by Steve Rostedt, and feedback
was provided
– Latest draft was reviewed and approved (Dec. 8)
by the Tool Infrastructure Work Group of the
MultiCore Association
Slide 23 of 30
RT-preempt tutorial
• Description
– Create training and tutorial materials for using
RT-preempt patchset and feature
• On-line course to be put on eLinux wiki
– Free for public use
• Contrator: K Computing (Kevin Dankwardt)
• Status:
– Expect completion by December 31
Slide 24 of 30
CELF Open Project Proposal
• You can suggest projects to fund for 2011
• Just opened proposal period on Tuesday
• For a submission, think about…
– What did you spend your time working on, on
Linux, in the last year?
– What would have saved you time and effort?
• Don’t have to be a member of CELF or the
Linux Foundation
• See http://elinux.org/CELF_Open_Project_Proposal_2011
Slide 25 of 30
Contract work notes
• This year, because of merger, CELF has
double its regular contractor budget
• Some possible projects were discussed at
the Embedded Linux Summit, and at the
Kernel summit
Slide 26 of 30
Candidate contract projects
• Add fastboot support to Linux
• Fast symbol resolution for module loading
• UBIL/UBI checkpointing – scalable UBI-attach
time
– Discussed with Thomax Gleixner at kernel summit
• Mainline RT-preempt patch set
• Link-time optimization (for size)
– Support for ‘whole-program’ compiler option
• Help with MIPI spec availability
• Kexec applet in busybox
• IP block driver database
Slide 27 of 30
More Candidate projects
• Watchdog framework for the Linux kernel
– Repeat from last year
– This barely missed funding, but this year we have
more money!
•
•
•
•
•
•
•
Binary analysis tool enhancements
Boot parameter caching
Continued Flash Filesystem testing
BTRFS on UBI
Sparse IRQs on ARM
Unified ARM version support (Linaro?)
Improved defconfig
Slide 28 of 30
Hardware donations
• Donation for developer doing BKL removal
paid off
– We bought him a board, and he submitted
several patches with BKL lock removals
• Have approved donation for Android
developer
– Plan is to use bootchart2 and document results
Slide 29 of 30
Thanks for your time
Slide 30 of 30