30
Slide 1 of 30 Status of Embedded Linux Embedded Linux Community News December 2010 Tim Bird CELF Architecture Group Chair

Slide 1 of 30 Status of Embedded Linux Embedded Linux Community News December 2010 Tim Bird CELF Architecture Group Chair

Embed Size (px)

Citation preview

Slide 1 of 30

Status of Embedded Linux

Embedded LinuxCommunity News

December 2010

Tim Bird

CELF Architecture Group Chair

Slide 2 of 30

Agenda

• Technology quick update• Embedded Linux Summit report• CE flag version• Yocto• Upcoming conferences• Miscellaneous news

Slide 3 of 30

Technology status (quick updates)

• Stable tracing APIs• TTY-based group scheduling• Checkpoint/restart for applications• Bootchart2

Slide 4 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 5 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 6 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 7 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 8 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 9 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 10 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 11 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 12 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 13 of 30

Flag Version details

• Decided to promote kernel version 2.6.35• Strange confluence of many players at once:• Android, Linaro, Meego, Sony

• Andi Kleen is the maintainer of the branch• See http://lkml.org/lkml/2010/12/3/35

• To be called “longterm” (not “stable”)– GregKH making some changes to how stable is

maintained• Longterm branches use same rules as stable• See Documentation/stable_kernel_rules.txt

Slide 14 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

• OpenEmbedded seems to have critical mass– TI, Palm/WebOS, Dell– MontaVista, Wind River, Mentor Graphics

• Important Yocto meeting held– Some issues with governance and relationship with Open

Embedded– Look for LWN.net article soon

Slide 15 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 16 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 17 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 18 of 30

Status of CELF work

Slide 19 of 30

Agenda (CELF work)

• CELF contract work• Open Project Proposal• Hardware donations

Slide 20 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 21 of 30

Contract work of interest

• YAFFS mainline• Trace format standard• RT-preempt online training

Slide 22 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 23 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 24 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 25 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 26 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 27 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 28 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 29 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 30 of 30

Thanks for your time