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
© Copyright 2026 Paperzz