2009/06/15 Linux Kernel Podcast
Audio: http://media.libsyn.com/medi/jcm/linux_kernel_podcast_20090615.mp3
Correction: Oops. I meant “Kernel Mode Setting, and not “Kernel Memory System”. I must have been smoking something at the time!
For Monday, June 15th 2009, I’m Jon Masters with a summary of today’s LKML traffic.
In today’s issue: the continuing 2.6.31 merge window, kernel oops reports, and disabling the staging driver tree.
The Continuing 2.6.31 merge window.
Poisonous hardware. Fengguang Wu posted version 5 of the HWPOISON patchset. This version includes new “uevent” code designed to send events to userspace on memory corruption event detection. While many cleanups have indeed taken place and some are happy for the code to merge (because it does very little until an error occurs, and then, it’s probably not much worse to tend to panic on handling the error than on simply ignoring the error condition), others have expressed concern that this needs more bake-time. They include Alan Cox (who feels it needs at least another cycle or two and some buy-in from other architectures – for example, the PowerPC folks), Nick Piggin (who echoes similar concerns about the level of change), and so forth.
Early SLAB. Pekka Enberg, Hugh Dickins, and Nick Piggin continue to discuss Pekka’s “early SLAB” work. This work aims to remove the use of bootmem and replace it (mostly) with a much earlier initialization of SLAB allocation. Some controvasy has arisen over just how much early memory users should be aware of their situation. While Pekka argues that it is appropriate to implement and use a GFP_BOOT option to kmalloc, others believe that users of kmalloc should not have to be aware of low-level machine state (interrupts enabled, and the like). The counter argument is that users at this point (prior to running the initcalls list) should really know what they’re doing, already are using bootmem, and so can live with an extra GFP flag.
Scheduler. Fabio Checconi posted an 8 part patch series implementing an Earliest Deadline First (EDF) group level scheduler to support generic period assignments for Real Time tasks. Quoting Fabio, “With this patch, the rt_runtime and rt_period parameters can be used to specify arbitrary CPU reservations for RT tasks”. As an early RFC, this probably warrents further investigation by anyone with an interest. Separately, Lennart Poettering posted several versions of a patch series intended to extend the POSIX mandated sched_setscheduler call with an optional additional policy parameter of SCHED_RESET_ON_FORK, which, as it implies, resets any elevated priority on subsequent task fork. No doubt this is useful to Real Time tasks like the PulseAudio sound daemon Lennart works on. I am similarly interested in revising an optional extension to mlockall for inheriting MCL_ flags.
Networking. David Miller posted an updated net tree for the 2.6.31 merge. There were many great highlights, amongst them ongoing work on the 802.15.4 protocol stacĀ (ZigBee support anyone?), conversion to net_device_ops finalization leading to a removal of legacy comptibility code, fixes, and a lot more SKB list abstraction work so that SKB’s can ultimately use list_heads rather than, as David puts it, “our custom crap”. There is also an RFKILL rewrite in the tree, which John Linville’s wireless-next tree uses also.
Kbuild. Sam Ravnborg posted a few minor kbuild updates, including preparation for the vmlinux linker script cleanups that haven’t taken hold yet. Separately, Pekka J Enberg pointed out that a number of distributions are now enabling -Wformat-security for gcc by default, which causes a number of unnecessary warnings to be generated for the kernel, quoting “sometimes in cases where fixing the warning is not likely to actually fix a bug”. Pekka posted a patch to force disable building the kernel with these warnings.
KMS. Dave Airlie posted a git tree containing updates to the Kernel Mode Setting (KMS). The latest tree introduces support for ATI radeon and includes the initial TTM memory manager. I confess to being a little out of touch with the latest KMS work and hope that someone will elect to enlighten us with an article.
Time. Thomas Gleixner posted updates to the ntp, timers (including migration support for power saving), clockevents (including a new register_device exported function smybol), etc.
Architecture updates include: powerpc and the new S+Core architecture.
The S+Core architecture. Liqin Chen posted initial support for the S+core CPU. This is a low power embedded 32-bit processor architecture created by Sunplus Core Technology (S+Core) that uses hybrid 16/32 bit instruction modes and parallel conditional code execution. The Sunplus Core Technology company was created in 2007 and the website currently has little in the way of additional documentation on the ISA or the value-add available in this “multimedia application processor” architecture. Since he did not have access to a git repository of his own, the patches are contained within a branch of Arnd Bergmann’s “asm-generic” git tree (Arnd had signed off on the patches) – having such patches as a branch on an unrelated tree is highly unusual, but there’s no technical reason why they can’t be there.
Documentation. Luis R. Rodriguez noted a need to adequately document the rc-series and kernel merge window, so he posted an RFC patch adding such documentation into the kernel tree.
Arjan van de Ven posted a kerneloops.org report for the week of June 14 2009. In it, he thanked the kernel.org team for their newly provided hosting (replacing a previous virtual machine instance), and drew attention to new oops sightings amongst the XFI driver, and the i915 gem and DMAR code. For this week’s report, a total of 4026 oopses and warnings were reported for kernels 2.6.29 and later (earlier kernels were ommitted from the report). Separately, Arjan proposed adding a “\n” to the existing kernel “WARN()” macro, saying that “many (most) users of WARN() don’t have a \n at the end of their string; as is understandable from the API usage point of view. But this means that the backend needs to add this \n or the warning message gets corrupted (as is seen by kerneloops.org).”
Finally today, there’s a little controvasy over a patch to the RT tree that disables all “staging” drivers. These are drivers in the “staging” area of the kernel source (formerly a separate tree entirely) that are not ready for prime time but are included early in order to drum up support and encourage developers to get them ready for wider use. Many of these drivers barely work on regular Linux kernels, let alone the RT kernel, but Greg Kroah Hartman (the original creator of -staging) objects to the idea of purposely keeping them out of the hands of RT users. Quoting Greg, “This seems like a patch to ensure that the staging drivers never get a chance to be fixed for any potential -rt issues. How about just sending me bug reports instead?”.
In today’s announcements: ndiswrapper 1.54-2.6.30. Jeff Merkey announced a new release of ndiswrapper for the 2.6.30 kernel. He separately took the opportunity to bash both Xen and KVM with, well, you can imagine. Thomas Gleixner posted to say he has released 2.6.29.4-rt19, which includes a couple of trivial fixes. Meanwhile, RT moves on to post-30 work.
The latest kernel release is 2.6.30, which was released by Linus last Tuesday.
Greg Kroah-Hartman announced the release of the 2.6.29.5 kernel and encouraged users to upgrade to the latest update.
Stephen Rothwell posted a linux-next tree for June 15th. Since Friday, he removed the rr-latest-cpumask tree (it having served its purpose), undropped the kvm tree (since the conflicts have been resolved), and the tree continues to fail to build in an allyesconfig build configuration for powerpc. A large number of other conflicts and build problems were accounted. The total number of trees is now down to 129, Rusty’s latest experiment having run its course.
That’s a summary of today’s Linux Kernel Mailing List traffic, for further information visit www.kernel.org. I’m Jon Masters.

