For Wednesday, June 10th, 2009 I'm Jon Masters with a summary of today's LKML tr affic.
In today's issue: Linux 2.6.30 updates, lockless ring buffer, poisoned hardware, platform device architectural data, and virtual swap readahead.
With the release of 2.6.30 on Tuesday, the floodgates were almost opened for everyone's pet 2.6.31 patches to be submitted, including your author's. Along with the beginnings of pull requests and patch postings, came a number of nice summaries from subsystem maintainers with titles like "what's coming in X". The official merge window may not be open (Linus wants people to conduct some more testing of 2.6.30 - almost psychically causing Ingo Molnar to report a lockdep problem with cpufreq since late RC), but here's a summary of those announcements that have been made by subsystem maintainers so far: Andrew Morton (-mm), Pekka Enberg (slab), Ingo Molnar (schedular), Jens Axboe (block), Steven Whitehouse (gfs2), and Takashi Iwai (sound).
Andrew Morton posted an announcement concerning his -mm tree, in which he listed the patches currently being applied and noted his intended course of action to be taken with each one in the form of which tree they should go into, or whether he would merge them directly.
Pekka Enberg posted a series of patches enabling slab support before the schduler initializes itself during the boot sequence, including fallback support for bootmem so that there doesn't need to be a "flag day" migration over to the new mechanism. He points out that a "harmless" warning is generated during boot with the new patches, for which he already has a fix ready to go into -tip.
Ingo Molnar posted a sched/core updates tree for 2.6.31. In it, he includes David Rientjes' recent patch that includes full thread info flags with every kernel stack backtrace, and a number of other fixes.
Jens Axboe posted information concerning the git block tree for 2.6.31. In his words, he has a "pile of stuff pending", chief amongst which is an overhaul of the request peek/retrieval interface as discussed by Linux Weekly News several weeks ago now. In the new API, drivers that used to call elv_next_request() to get the next request, followed by blkdev_dequeue_request(), will now simply call blk_fetch_request() instead, which will do away with the confusion caused by having the two APIs. The addition of a "peek" operation additionally allows drivers to look at the queue without actually dequeuing requests.
Steven Whitehouse posted information concerning the git "-nmw" GFS2 tree for the 2.6.31 merge. In his announcement, he covered a new mount option named "commit=" which exactly the same as the ext3 option with the same name (namely, specifying the interval at which commits will take place) and alluded to a longer term plan to make all tunable parameters into mount options, thus deprecating the use of a sysfs interface for configuring these parameters.
Takashi Iwai posted information concerning the git sound tree for 2.6.31. In this update we see, quote "not-so-small number of changes", including improvements to HD audio, new codecs and drivers, and build fixes. Hopefully, the tree will also include a fix for a sound skipping regression discovered by David Miller, and bisected back to a commit make in 2.6.30-rc8.
Lockless ring buffer. Steven Rostedt posted a long-awaited lockless implementation of his generic ring buffer algorithm. Steven's previous design was interesting because it included the notion of swapping out pages contained within the ring buffer in order to consume them free of interference, but it did nonetheless still include some locking at the lowest levels. I'll provide a more detailed update once I've had chance to look over his code - and as a reminder, there are still plenty of places in the kernel where Steven's implementation should replace custom ad-hoc ring_buffer re-invention. Steven also posted a tracing tree update, but that was intended for 2.6.32.
Poisoned hardware. Fengguang Wu followed up to Nick Piggin's comments on Andi Kleen's original "HWPOISON" patches, discussing what should happen when low-level page corruption is detected by the hardware and the OS is trigged into taking action. Fengguang favors killing the corresponding task(s) sooner rather than later on the grounds that delaying the kill creates more opportunity for the memory corruption to lead to data destruction.
Platform device architectural data. Magnus Damm posted version three of his patch series intended to add a struct pdev_archdata to struct platform_device. The idea is to allow architectural code to keep additional data that needs to be associated with each platform device. It's exactly like dev_archdata but for platform devices.
Virtual swap readahead. Johannes Weiner posted version 3 of his virtual swap readahead patch series. The patches modify the swap readahead implementation, which currently reads a physically contiguous group of swap slots around the faulting page to take advantage of the disk head position in the hope that the principal of locality will render those pages useful. Unfortunately, this only really works as long as the physical ordering approximates the LRU ordering closely enough, and in the case that it does not results in large quantities of wasted IO operations just when IO bandwidth is the most contended system resource. The new implementation combines both physical and virtual hints to figure out which sets of pages are sensible to read ahead. Wu Fengguang tested the patch and found that it trigged many OOM kills, for which he posted a summary of memory utilization at their time of occurance.
Finally today, your author just splurged on a Samson C01U USB microphone, which seems to (more or less) be working with Audacity and ALSA. Thanks to Simon Farnsworth for reminding me to also apply dynamic range compression, which I have done to today's broadcast - please do send me feedback.
In today's announcements: Karel Zak announced version 2.15.1 of util-linux-ng. The latest release includes a number of small fixes. Thomas Gleixner announced version 188.8.131.52-rt17, which includes various tracing updates, latency histograms, and some build warning fixes. As he points out so poetically, there will be a minor update when this author's hwlat patches are applied. Mathieu Desnoyers announced LTTng 0.140 for Linux 2.6.30.
The latest kernel release is 2.6.30, which was released by Linus on Tuesday.
Greg K-H posted a series of 60 review patches representing the forthcoming 184.108.40.206 stable release.
Stephen Rothwell posted a linux-next tree for June 10th. Since the previous day, he undropped the new "Voyager" tree, and the tree continues to fail to build in an allyesconfig on powerpc. There were additionally six other tree status changes listed in his report, which continues to address 144 trees.
That's a summary of today's LKML traffic. For further information visit kernel.org. I'm Jon Masters.