Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum
Sponsor Microsite
n/a
New kernel boosts embedded
[Updated 1:45 PM] -- Linus Benedict Torvalds today blessed the 2.6.27 kernel, making the release official after nine "release candidate" iterations. For embedded hackers, the new kernel offers "Ftrace" and "Sysprof" trace tools, a new "UBIFS" flash filesystem, and support for network drivers with multiple transmit queues, among other enhancements.

Merging a new, more modern flash filesystem has been among the top priorities for Linux's new embedded maintainers, so let's start with that one. Two filesystems were vying for merger, including Jörn Engel's LogFS, and UBIFS, spearheaded by Nokia. At this point, UBIFS has been merged, while work on LogFS appears to be stalled for now.

Like JFFS2 (which incidentally was written by David Woodhouse, one of the new embedded maintainers), UBIFS works with raw flash devices attached via the MTD (Memory Technology devices) kernel subsystem, rather than with flash devices like CompactFlash cards that emulate block devices. Compared to JFFS2, UBIFS should offer journaling, write-back, on-the-fly compression, and faster mount times.

Another newly merged flash filesystem is OMFS, or "Optimized MPEG File System," reportedly used in ReplayTV and Rio Karma music players. OMFS's merger was a little bit controversial.

Two new system profiling tools

The new Ftrace tool appears to have grown out of Ingo Molnar's work on real-time extensions to the Linux kernel. However, it may well prove more broadly useful for embedded developers. A static function tracing tool similar to strace, but residing inside the kernel, ftrace aims to tell you where the kernel is spending its time. Thus, it may help developers figure out which functions in their code are causing bottlenecks. Traditionally, embedded developers have used LTTng for this, but Ftrace may prove simpler and easier to use, it appears.

Ftrace puts out its data to files in the kernel's debugfs filesystem, and can be configured by echoing values into files there as well. According to documentation in the kernel source tree, it can be configured with the following tracers:
  • ftrace - function tracer that uses mcount to trace all functions
  • sched_switch - traces the context switches between tasks
  • irqsoff - traces the areas that disable interrupts and saves the trace with the longest max latency.
  • preemptoff - Similar to irqsoff but traces and records the amount of time for which preemption is disabled.
  • preemptirqsoff - Similar to irqsoff and preemptoff, but traces and records the largest time for which irqs and/or preemption is disabled.
  • wakeup - Traces and records the max latency that it takes for the highest priority task to get scheduled after it has been woken up.
  • none - To remove all tracers, echo "none" into current_tracer.works
Also newly merged in 2.6.27 is "Sysprof," described in its Readme as a "sampling profiler that uses a kernel module to generate stacktraces which are then interpreted by the userspace program 'sysprof.'"

Other new features

David Miller's multiqueue transmit patches have been merged in 2.6.27. These are aimed at letting complicated network devices -- those using the Wireless Multimedia Extensions, for example -- to have different network transmit queues, with different rules about queue length, when to drop packets, and so on. Reportedly, the patches were built in such a way as not to affect existing network drivers, while opening the door to new drivers that support multiple transmit queues. Further details may be available here.

Wait, there's more

The new kernel offers plenty for enterprise users, too, with ext4 getting closer to readiness for prime time. The scsi and sata subsystems have added support for checksumming data written to block devices at write time, apparently a high priority for enterprise users.

For desktop users, a new GSPCA driver system brings world-class support for webcams under Linux. A long list of supported products can be seen here.

For a full summary of salient merges in 2.6.27, try this 2.6.27 change summary at KernelNewbies.



Related Stories:
 
This sponsor's products:
Qt for Embedded Linux
Qt Extended
Qt for Windows CE
Medallion CPU Modules
Touch Panel Computers
Gateway Computers
Service Offerings
TS-7800 High-Performance SBC
USB-A9260
TS-7200 Full-Featured SBC
USB-A9263
TS-7300 High-Security SBC
USB-S8815
QIL-A9260
TS-7400 System-On-Module
MOB-QIL-A9260
TS-WIFIBOX WiFi-Enabled Computer Box
TS-POE100 POE Peripheral
SBC35-A9260
TS-7KV VGA Video Peripheral
TS-CAN1 CAN Bus Daughterboard
Microcross X-Tools
MontaVista Linux: Professional Edition 5.0
MontaVista Mobilinux 5.0
MontaVista Linux: Carrier Grade Edition 5.0
MontaVista DevRocket
Movidis x16 Network Appliance Platform
Movidis Revolution x16 Server
NXC-2600 RISC SOC
ELinOS - Industrial Grade Linux
Matrix 520
ELinOS Real-Time -- Industrial Grade Hard Real-Time Linux
PikeOS
First Portable AFDX -- the Next Avionic Data Network
System on Display: highly integrated standard components for embedded systems
MKit UCN2410-c: Open Source Linux Mobile Development Kit
XSD/e Embedded XML Parser Generator
VPON 9000 series Linux DVR
NPWR-XTR
OpenMake
ESM-945GM and ECM-945GM
IPNetCam
Vyatta
LINUTOP
High Performance Echo Canceller (HPEC)
PCN-1001 Passenger Counter
SBC2410-III Linux Single Board Computer
TDK-4 Development Kit
Abatron BDM and JTAG Debug Tools
LinuxScope JTAG Target Debugger
Analogue & Micro PowerPC development platforms
DAVE Electronics CPU modules, development kits, BSPs
MyCable embedded computing modules and devices
Blackhawk family of JTAG Emulators
TI Code Composer and Code Compuser Studio
LAB Microsystems TI DSP hardware development tools
Empower Technologies OMAP development kits
Actions Semiconductors multimedia processors and chips
COM-1289 -- 12-channel GPS and tri-band GSM/GPRS on PC/104
NK9312 Evaluation Board
Bubba -- a silent, miniature, Debian-based server
CPU-1462/1464 -- PC/104-Plus SBCs based on Pentium III
SBC4670 -- a PXA270-based EPIC SBC with PoE
DM64x Mini Module -- a video/imaging development platform
MPEG-2 and MPEG-1 Video Encoder and Decoder Supports "Video for Linux"
Low power CPU for PC/104 Plus supports Linux
Traffic Monitoring Frame Grabber with Linux Software
Volante POS Systems
2250 USB MPEG capture device
RFID CD based training
Model 314 MPEG-4/2/1 and MJPEG frame grabber
Embest SBC2410-II based on Samsung S3C2410A processor
INT-1462 -- quad-input PC/104-Plus frame grabber
Da Vinci Prototyping Board
SSP Video Sharing Online Edition 2.0
SlimDB in-memory C++ database
IGW/920 DIN-rail Device Server with USB host interface
ADNP/9200 -- a miniature module for WSNs
CerfBoard 270
M501 ARM9 Linux Ready System on Module (SoM)
Rugged Digital Video Recorder
Rugged Vehicular Data Server (VDS)
AR-B1652
COM-1240 PC/104 module with MVB interface
phyCORE-PXA270
Ascensit Link Manager
ZYPAD WL 1000 -- a family of wearable computers
AVL-Light -- low power platform for real-time vehicle tracking
CPU-1433 -- an RoHS compliant SBC
Passenger Counter
CPU-1421 -- a PC/104-Plus SBC
100% Viiv Ready Mini Home Theatre PC
MConfig Kernel Configuration Demo Program
Minicom KVM.net ~ Out-Of-Bound KVM Management Over IP
VirtualLogix VLX
FingerCell, Embedded Fingerprint Recognition Technology
KVM.net System - Centralized KVM management over IP
DB4Oopen source object database v5.5
VOD SDK
Internet Browser SDK
 

Home  |  News  |  Articles  |  Polls  |  Forum  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners.