2009/11/08 Linux Kernel Podcast
Audio: http://media.libsyn.com/media/jcm/linux_kernel_podcast_20091108.mp3
For the weekend of November 8th, 2009, I’m Jon Masters with a summary of the weekend’s LKML traffic.
In today’s issue: AMD Geode, Ftrace, IO bandwidth control, modules, nconfig, per-cpu mm counters, regressions, and sysctls.
AMD Geode. Geode is a (relatively) low power SoC-type x86-compatible CPU from AMD that many have heard of due to its use by the OLPC XO laptop project. Although the chip is now discontinued, there are a number of users, and Matteo Croce noted that although the kernel has always treated it as a 586-class CPU, the Geode is “technically an i686″ processor. Given a few quirks (it lacks the “long NOP” or “NOPL” instruction, which can be emulated instead), it can be made to run as an i686 processor. Debate centered around whether it was “really worth it”, as Peter Anvin put it.
Ftrace. Michal Simek (who has been working on Ftrace support for Microblaze for some time) posted some example output and asked a number of questions of Steven Rostedt in relation to the implementation of the mcount function that is necessary for Ftrace to function correctly. Mcount is a function usually provided by GCC for applications that Steven intentionally replaces when compiling the kernel with profiling support such that he can hook into mcount and capture various information about functions as they are called.
IO Bandwidth Control. Vivek Goyal (who has an increadible amount of patience) posted an RFC in regard to the upcoming 2.6.33 merge window. Vivek is working on support for bandwidth limiting of IO and notes that recent CFQ changes actually add another layer of grouping of IO – this time within the CFQ scheduler – assigning IO based on the workload type (sync-idle, sync-noidle, and async IO). The question is whether to do bandwidth control at the outer level, or within each of these three workload type groups.
Modules. Rusty Russell noted that he has now applied Alan Jenkins’ whole series of patches to improve module loading speed through pre-sorting the symbol table and using a binary search on module load.
nconfig. Nir Tzachar posted version 5 of a “menuconfig” replacement, written using the most modern versions of the ncurses interface toolkit. The patch isn’t huge, and comes with documentation, so it might well be a candidate, if the kernel developers consider a replacement is necessary.
per-cpu mm counters. Kamezawa Hiroyuki followed up to Christoph Lameter’s previous posting of a new per-cpu array implementation for various counters currently living within the mm_struct. His concern was the overhead incurred in compiling summary statistics when userspace attempted to read the data, as is done by a variety of utilities, including both top and ps.
Regressions. Yanmin Zhang raised the issue of a 5% performance regression between 2.6.31 and the current 2.6.32-rc release. Much of these are attributed to recent scheduler changes, but not all. Mike Galbraith noted that there were some locking issues that were being fixed up that might have skewed benchmarks overly negatively, and that a fix was in the pipeline. Ingo Molnar wanted some more information about the precise setup Yanmin was using. ertainly, recent developments on Performance Events and “perf bench” will help.
Sysctls. Eric W. Biederman is currently working on various cleanups. Not content merely to have cleaned up VFS cache handing for sysfs, he decided at the same time to also take on binary sysctl support in the kernel. His 23 part patch series on that front will remove existing sysctl handling from all over the kernel tree and instead implement sys_sysctl as a wrapper over /proc/sys. Users shouldn’t notice, but kernel developers should take note.
Finally today, in replying to the AMD Geode debate over whether it was worth promoting Geode to be i686 (albeit with quirks), Alan Cox noted that checkpatch minor formatting warning output really is not intended to be useful until a patch has a serious likelihood of being accepted. i.e. while things are under development, it’s ok to take a chill pill and relax a little.
In today’s announcements: Linux 2.4.37.7. Willy Tarreau announced the latest release of the venerable 2.4 series kernel. Specifically, this latest release includes a number of potential NULL pointer deference bug fixes that all users should consider as potential issues, even if they have set mmap_min_addr to disallow the kernel from mapping the NULL page to userspace.
2.6.31.5-rt17. Thomas Gleixner announced version 2.6.31.5-rt17 of the preempt-rt kernel patch. The latest release is forward ported to 2.6.31.5, has some scheduler improvements, security fixes, and some tracer enhancements also. It is available from the usual places, including http://www.kernel.org/pub/linux/kernel/projects/rt.
Luis R. Rodriguez announced the stable compat-wireless tree for 2.6.32-rc6. This is a wireless tree backported to older kernels and allows users to make use of newer wireless drivers on older systems.
The latest kernel release is 2.6.32-rc6.
Greg Kroah-Hartman posted stable series review patches for 2.6.27.39 and 2.6.31.6. The former had 99 patches, while the later had 16. And as usual, responses were requested by Sunday afternoon.
Stephen Rothwell posted a linux-next tree for November 6th. Since Thursday, the PowerPC KVM fix went away at last, the sparc tree had a build failure for which he applied a patch, and the kvm and net trees had conflicts. The total sub-tree count remains steady at 146 trees in linux-next.
That’s a summary of today’s Linux Kernel Mailing List traffic, for further information visit www.kernel.org. I’m Jon Masters.

