Home > episodes > 2009/09/07 Linux Kernel Podcast

2009/09/07 Linux Kernel Podcast

September 15th, 2009 jcm Leave a comment Go to comments

Audio: http://media.libsyn.com/media/jcm/linux_kernel_podcast_20090907.mp3

For the US Labor Day weekend of 2009, I’m Jon Masters with a summary of today’s LKML traffic. Happy Labor Day everyone. I spent my weekend in Maine, hiking the Knife Edge of Katahdin with my favorite AMC hiking buddies.

In today’s issue: BFS, boot interrupts, KVM, modules, tasklets, and VFS.

BFS. There has been some debate recently (and LWN has great coverage of) a new scheduling algorithm proposed by Con Kolivas (who pops up every few years in between getting disgruntled and saying that he won’t do so again) called the “Brain Fuck Scheduler”. It is intended to be really simple, and the initial posting came with all kinds of assertions about how it would perform better under typical desktop load conditions. Ingo Molnar got around to perfoming some tests under various workloads and found that, quoting, “BFS is slower than mainline in virtually every measurement” that he performed. He also discovered it performed worse in desktop interactivity tests, but he encouraged others to not take anyone’s word for it and run their own tests – including links to current versions of the upstream scheduler and Con’s patches. It should be noted that Ingo is the maintainer of the upstream scheduler and so is bound to be in part refering to himself.

Boot interrupts. Stefan Assmann posted a two part patch series disabling boot interrupts on Intel X58 and 55×0 systems. These are necessary, as he reminds everyone, because systems will otherwise generate legacy compatible interrupts that will simultaneously arrive at both the PIC and primary IO-APIC, even the former is not in use and the latter’s corresponding line is masked. Needless to say, this can and has caused some pretty hairy issues (especially for the RT kernel) and so patches like these are most welcome. These patches, like his others, poke at generally hidden PCI configuration devices that must first be made accessible before allowing disabling of boot interrupts.

KVM. Jan Kiszka inquired of K. Prasad as to his ongoing work into implementing a generic hardware breakpoint support infrastructure that could be used to also handle the contextual save and restore of hardware debug registers upon switching within KVM from host to guest CPU environment. Avi Kivity had, apparently, previously suggested that these registers might be restored from current->thread.debugregX without having to explicitly save/restore, but Jan feels it might be better to just do this generically in K. Prasad’s code.

Modules. Michal Marek posted a two part patch series modifying kbuild to generate modules.builtin files that can be parsed by module-init-tools and used to recognize drivers and other optionally modular components that have in fact been built into the running kernel. This then allows those to be listed within lsmod and other tools.

Tasklets. Luis R. Rodriguez raised the issue of using tasklets as containers for “bottom half” (a reference to old-school top/bottom half handlers) interrupt handler processing. He cites an older LWN story on the efforts by Steven Rostedt and others to remove tasklets or otherwise move them into a process context of their own. Luis feels there is particularly no reason for tasklets in wireless drivers and that instead much of the work can be moved out to a process context. This will of course be easier if the interrupts can be threaded and could do all of their handling without separate contexts, though this is not always possible in performance critical situations.

VFS. Linus Torvalds posted an 8 part patch series aimed at cleaning up VFS name lookup permission checking, with the stated goal of eventually doing multiple path component lookups in one go without taking the per-dentry lock or toggling the per-dentry atomic count for each component. The existing code is pretty horrific in terms of cacheline “ping-pong” on the common top-level dentries that “everybody looks up” and Linus is already able to show a roughly 3% performance hit on a single-socket Nehalem system. Included within his patch is an observation that there was never a need for the IMA code to call ima_path_check repeatedly during path lookups, only on the final path.

In today’s miscellaneous items: Jason Gunthorpe posted some scathing commentary of the existing implementation of pubek sysfs file for reading from TPM, and a bunch of fixes to “do it again”, some input updates from Dmitry Torokhov, a fix implementing “make file.s_c” building of dual C and assembly hybrid files from Amerigo Wang, the second patch series for ioatdma implementing RAID5/6 offload support from Dan Williams (in followup to the previous day’s patches), the 18th version of the per-bdi writeback flusher threads from Jens Axboe, a lot of helpful cleanups (mostly to x86) from Jan Beulich, some performance counters fixes from Ingo Molnar, some AMD-IOMMU passthrough support patches (iommu=pt) and page table/page fault handling updates for the same from Joerg Roedel, version 6 of the crashkernel=auto patches from Amerigo Wang, version 2 of an RFC patch series reducing the number of calls to global_page_state from balance_dirty_pages to reduce cache pressure from Richard Kennedy, some SPARC and networking updates from David Miller, a common method for reading and parsing user input within the tracing code from Jiri Olsa, a patch adding a boot option to disable the automatic VT cursor on boot (for use with graphical splash screens) from Matthew Garrett, some RFC sysfs documentation also from Matthew Garrett, version 3 of a patch removing a sleep in TASK_TRACED under a lock known as ->cred_guard_mutex from Oleg Nesterov, a single PCI fix for broken resource alignment calculations from Jesse Barnes, a cpuidle fix from Sanjeev Premi, some directory lookup optimizations for the performance counters perf tool from Ulrich Drepper by way of Arnaldo Carvalho de Melo, some tracing fixes from Frederic Weisbecker, a critical OCFS2 fix for rc8 from Joel Becker (correctly the handling of cancel requests rather than erroring out), a series of 18 patches from Steven Rostedt that had started out as a simple bugfix but turned into a significant rework to better handle switching per-cpu ring buffers, a new CROSS_COMPILE option in kconfig facilitiating easier configuration of a cross compilation environment from Roland McGrath, a fix for ext2_rename correcting unbalanced use of kmap and kunmap (causing pkmap slots to get exhausted) from Nicholas Pitre, a fix to the RCU kconfig help text from Valdis Kletnieks, a SLUB RCU fix for 2.6.31 from Pekka J. Enberg, some firewire fixes from Stefan Richter, another version of a patch adding support for LZO-compressed kernel images from Albin Tonnerre, an update on the async_tx.git/next tree and merge plans for 2.6.32 from Dan Williams (the Intel one), some USB console fixes correcting an oops from Jason Wessel, an update on a suspend saga affecting the Sharp Zaurus from Pavel Machek, a fix for building User Mode Linux with bash 4 from Paul Bolle, some minor firewire fixes from Stefan Richter, some IDE patches from David Miller, an important IMA security fix from James Morris, a large number of linker script fixes and cleanups from Tim Abbott, some drm fixes for 2.6.31 final from Dave Airlie, perf trace filtering support from Li Zefan, and some documentation updates rendering consistent the default mountpoint for making available debugfs from GeunSik Lim, a patch to fix error handling in load_module from Kamalesh Babulal, version 5 of the clone_with_pids() system call from Sukadev Bhattiprolu, a fix for the case where ACPI state C2 is mapped to C3 from Luming Yu, a patch adding locking to ext3_do_update_inode to avoid a race from Chris Mason, some fixes for handling hot remove of mmaped files from Eric W. Biederman, a summary of the current VFS scalability queue from Nick Piggin, and a patch from Adrian Hunter aiming at making write_cache_pages more sequential in flushing back pages.

In today’s announcements: Linux 2.6.31-rc9. Linus Torvalds announced the release of version 2.6.31-rc9 of the Linux kernel. He was originally planning on shipping a final 2.6.31 already, but some fundamentals (such as broken inotify support) necessitated holding off for a few more days. He requests a final round of testing prior to the 2.6.31 release.

util-linux-ng 2.16.1. Karel Zak announced util-linux version 2.16.1. The latest release includes a number of updates, amongst them a modules.dep parser that is particularly hairy but unfortunately “necessary” for ext2/3/4 detect.

The latest kernel release was 2.6.31-rc9, which was released on Saturday.

Rafael J. Wysocki posted a list of regression from 2.6.30 to 2.6.31-rc9. These include 27 unresolved issues at this time, including inotify and page allocator problems that aren’t closed yet. The outstanding list of regressions between 2.6.29 and 2.6.30 also contained 27 items, and almost all of them are driver issues dating back for some time.

Tarkan Erimer reported an oops in the ALSA stack when running 2.6.31-rc7-git1-rt9. Christoph Lameter reported 5 second “hiccups” on CIFS with 2.6.31-rc8. Luis R. Rodriguez passed along some kmemleak reports from 2.6.31-rc8 which were affecting process_zones(). Gene Heskett couldn’t reliably run 2.6.31-rc9 without various segfaults taking down his mail.

Greg Kroah-Hartman announced the 2.6.27.32 and 2.6.30.6 stable review patches.

Stephen Rothwell posted a linux-next tree for September 4th. Since Thursday, the xfs, acpi, security-testing, and staging trees had issues (all new, except for acpi). The total sub-tree count remains steady at 141 trees.

Stephen Rothwell posted a linux-next tree for September 7th. Since Friday, the acip, async_tx, mtd, battery, slab, trivial, percpu, tty, and scsi-post-merge trees gained issues, while security-testing lost its build failure but gained another for which Stephen reverted the offending commit. The total sub-tree count remains steady at 141 trees in the latest compose.

Valdis Kletnieks reports some “weirdness” in linux-next affecting KVM and bisected back to a patch from Beth Kon entitled “KVM: PIT support for HPET legacy mode”, which is causing hangs or triple fault reboots on a Dell Latitude D820 laptop.

That’s a summary of today’s Linux Kernel Mailing List traffic, for further information visit www.kernel.org. I’m Jon Masters.

  • Print this article!
  • del.icio.us
  • Facebook
  • TwitThis
  • Identi.ca
  • Digg
  • Google Bookmarks
  • Slashdot
  • RSS
Categories: episodes Tags:
  1. No comments yet.
  1. No trackbacks yet.