News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

New kernel boosts embedded

Oct 10, 2008 — by LinuxDevices Staff — from the LinuxDevices Archive — views

[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

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.

This article was originally published on and has been donated to the open source community by QuinStreet Inc. Please visit for up-to-date news and articles about Linux and open source.

Comments are closed.