300 likes | 311 Views
This article provides a quick update on the status of embedded Linux technology, including stable tracing APIs, TTY-based group scheduling, checkpoint/restart for applications, and Bootchart2. It also covers the Yocto project, upcoming conferences, and miscellaneous news.
E N D
Embedded Linux Community News December 2010 Status of Embedded Linux Tim Bird CELF Architecture Group Chair
Agenda • Technology quick update • Embedded Linux Summit report • CE flag version • Yocto • Upcoming conferences • Miscellaneous news
Technology status (quick updates) • Stable tracing APIs • TTY-based group scheduling • Checkpoint/restart for applications • Bootchart2
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
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
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
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)
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
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
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
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
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
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
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
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
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
Miscellaneous News • Mentor Graphics acquires CodeSourcery • Sony ships Sony Internet TV • First non-phone Android product endorsed by Google • Google ships Android Gingerbread SDK
Agenda (CELF work) • CELF contract work • Open Project Proposal • Hardware donations
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
Contract work of interest • YAFFS mainline • Trace format standard • RT-preempt online training
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.
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
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
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
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
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
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
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