Archive

Archive for September 24th, 2009

2009/09/14 Linux Kernel Podcast

September 24th, 2009 jcm No comments

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

For Monday, September 14th, 2009, I’m Jon Masters with a summary of today’s LKML traffic.

In today’s issue: CFS, Fanotify, Huge pages for device drivers, and kthreads.

CFS vs. BFS. Nikos Chantziaras announced that Phoronix has published some comparison benchmarks between the current mainline CFS task scheduler, and Con Kolivas’ recently announced “BFS” task scheduler. The benchmarks aim to cover “real-life” applications, such as timed compilations, a game, email benchmarks, and so forth. The results speak well for BFS, but this is not a surprise since the tests were performed on an (Ubuntu) desktop system with a hardware configuration friendly toward the design goals for BFS. Without meaning to imply any bias, it is this author’s opinion that such tests should be expanded to cover much larger systems before drawing generalizable conclusions. Having said that, BFS clearly has desktop uses.

Fanotify. Eric Paris wondered aloud whether he should migrate the fanotify implementation away from a combination of use of socket, bind, and setsockopt calls over to set-in-stone system calls. A total of 9 new system calls would be required, and Eric obviously expresses hisitation toward this approach, but he is seeking a “ruling from on high” as to the best direction here.

Huge pages for device drivers. Alexey Korolev posted version 3 of a three part patch series aimed at implementing support for huge TLB mappings for the sharind of data between device drivers and userspace. This is especially useful when a large amount of data needs to be shared, as is the case with (for example) video capture, frame buffer, and other devices. The patches are layered upon Eric Munson’s earlier ANON_HUGETLB patchset. Alexey also posted an example HugeTLB driver that makes use of the latest patch series.

Kthreads. Pavel Vasilyev sent a complaint that the calls to set_user_nice configuring all kernel threads to run with a -5 nice level by default in kthread.c had been removed by Ingo Molnar. In fact, they had been “removed” by Mike Galbraith in the course of another patch since he felt that most kthreads didn’t use enough CPU that their weighting was really an issue in getting their work done. This was disputed by others, including Chris Friesen. Pavel posted some benchmarks and discussed headed toward deciding default priorities for certain kernel threads in particular, such as ksoftirqd.

In today’s pull requests: three viafb trees from Jon Corbet, version 4 of the S+Core architecture support patches from Liqin Chen (based upon work he has been doing with Arnd Bergmann and based against 2.6.31-rc7), some credential and SELinux fixes (originally posted by Eric Paris) from James Morris, some input updates for 2.6.32 from Dmitry Torokhov, a merge plan for sh support in 2.6.32 from Paul Mundt (who says, “better late than never..”) (including support for various new boards and processors, runtime PM support, and a “shiny” new DWARF unwinder), some GFS2 updates from Steven Whitehouse, some nilfs2 updates from Rysuke Konishi, a simple ring buffer PowerPC build failure
fix from Steven Rostedt, some DLM updates for 2.6.32 from David Teigland, some O_SYNC cleanups from Jan Kara, some tracing fixes from Steven Rostedt, part 1 of a number of AMD64 EDAC updates from Borislav Petkov, some SLAB allocator “fixes and cleanups” from Pekka J Enberg, some UDF fixes from Jan Kara, some KVM updates from 2.6.32-rc1 from Avi Kivity (simply another iteration of the previous patches, also including a reminder that Marcelo Tosatti is joining Avi as co-maintainer for KVM), some PM updates for 2.6.32 from Rafael J. Wysocki, a number of updates to Blackfin architecture support for 2.6.32 from Mike Frysinger, some x86/txt (Intel “Trusted eXecution Technology”) patches from Peter Anvin, and another round of security credential fixes from James Morris (including several fixes to the KEYS support that have been posted recently by James Morris).

In today’s miscellaneous items: some fixes to /dev/mem supporting partial read and write operations from Fengguang Wu, a patch to incorporate the currently set ARCH environment variable in the deb-pkg build target by Wei Chong Tan, some tracing fixes from Li Zefan, a macro fix from Ferenc Wagner correcting problems experienced by macro users of the container_of macro, version 2 of the post merge per-bdi writeback patches from Jens Axboe (the aforementioned per-bdi writeback flusher patches having now made their way into mainline – separately Jens wondered what bdev->bd_inode_backing_dev_info was ever intended to be used for), signal tracing in ftrace from Jiri Olsa, the latest version of the IO bandwidth controller and BIO tracking patches (dm-ioband and blkio-cgroup) from Ryo Tsuruta, a number of kbuild updates from Andi Kleen, version 2 of the __builtin_unreachable patches from David Daney (who seems to be in contact with Roland McGrath over Roland’s alternative implementation that only supported the x86 case), version 5 of the reflink system call from Joel Becker (allowing copy-on-write reference-counted links to files), latency tracing histogram support (targeting the preempt-rt kernel patches) for displaying potential and effective wakeup latencies from Carsten Emde, and some further /proc/kmem patches from Fengguang Wu.

Finally today, Nicolas Pitre noted that he has a new email address. This is due to some “problems at cam.org”. His new address is nico@fluxnic.net.

In today’s announcements: The IO Controller Mini-Summit 2009. Ryo Tsuruta announced that there will be a dialin number for those wishing to participate in the IO Controller Mini-Summit, running concurrently with this year’s kernel summit in Tokyo, Japan, on October 17th. Mike Snitzer was one of many who wondered (but in this case, aloud, on LKML itself) why discussion of the various IO controller proposals had to wait until after the 2.6.32 merge window closed, was taking place off LKML, and was happening at a venue where limited participants will be able to attend to offer their input.

The latest kernel release was 2.6.31.

Andrew Morton posted an mm-of-the-moment for 2009-09-14-01-57.

Ingo Molnar found a SLAB corruption bug being reported by kmalloc that happens after about “1000+ successful random bootups” and so is “not bisectable at all”. He believes that it may be related to ongoing security related SLAB troubles, although it doesn’t appear to be directly SELinux at fault. Stephen von Krawzynski reported an issue with the 2.6.31 IPv4 implementation as compared with 2.6.30.X kernels when configuring a particular vlan setup.

Stephen Rothwell posted a linux-next tree for September 14th. Since Friday, the sparc, nfsd, security, tip, and oprofile trees lost their issues, while the rr tree still has a build failure and the block tree gained another. Stephen repeats his standard warning that developers not post patches intended for 2.6.33 until 2.6.32-rc1 has been released, and also notes that a number of build failures are currently bouncing from one tree to another.

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

Categories: episodes Tags:

2009/09/13 Linux Kernel Podcast

September 24th, 2009 jcm No comments

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

I’m at the Linux Plumbers Conference, uploading a few updates between tracks. We’ll get there – sorry I’m behind again, but this isn’t an easy task!

For the weekend of September 13th, 2009, I’m Jon Masters with a summary of today’s LKML traffic.

In today’s issue: Cpuidle, Dynamic Logical Partitioning, Localmodconfig, RO/NX protection for loadable kernel modules, and Timechart.

Cpuidle. Arjan van de Ven posted a patch implementing a new variant of menu cpuidle governor to boost IO performance, “[balancing] power savings, energy efficiency and performance impact.” The raison d’etre for this patch series stems from poor performance of the existing cpuidle governor code on recent Intel Nehalem server systems. Arjan includes some benchmarks, showing as much as 1.8 times performance improvement over the existing code, with only a very minimal overhead as compared with running a system without dynamically changing power cstates.

Dynamic Logical Partitioning (DLPAR). Nathan Fontenot posted a five part patch series implementing “Dynamic Logical Partitioning” (DLPAR) support for IBM pseries PowerPC 64-bit systems supporting dynamic hardware provisioning (addition, removal, and reconfiguration of processor and memory resources via the underlying hypervisor). The patches implement a number of probe/release sysfs files on such systems that can be used to signal the addition or removal of CPU and memory resources as required.

Localmodconfig. As covered previously, Steven Rostedt has implemented a Kbuild extension providing a Kconfig build target of “localmodconfig”. This will build a kernel that includes modular support for all locally present hardware, and is useful for kernel testing (without requiring a full build with support for non-present hardware). Steven posted an official merge request for 2.6.32.

RO/NX protection for loadable kernel modules. Siarhei Liak posted version 6 of a patch series implementing RO/NX page level protections for loadable kernel modules. This patch is a logical extension of the existing in-kernel page level protections for kernel executable code, but now adds such protections to loadable kernel modules by way of modifying the kernel module loading code.

Timechart. Arjan ven de Ven, known for his previous work using utilities such as bootchart (a tool to visualize the system boot process) announced the release of a new “timechart” utility that can be used to visualize exactly what is happening on a running system. It builds upon various timestamp counters added to the existing performance counters code, and a few other changes that Arjan has proposed to be added to the performance counters “perf” userspace utility.

In today’s pull requests: some updates to infiniband for 2.6.32 from Roland Dreier, some updates to ummunotify, which is a new character device that allows a userspace library to register for MMU notifications, also from Roland Dreier, some updates to libata-dev from Jeff Garzik (mostly trivial and driver updates), some powerpc updates for 2.6.32 from Ben Herrenschmidt (which Ben points out include a dependency upon various IOMMU and swiotlb bits currently in Ingo’s tree – so he is happy for Linus to delay pulling until after pulling from Ingo’s tree), some kmemleak patches from Catalin Marinas, some s390 patches for 2.6.31+ from Martin Schwidefsky (including “call home support”), the merge plan for linux-2.6-block bits in 2.6.32 from Jens Axboe (including updates to CFQ, cleanup of BIO IO flags, and various others), some tracing updates from Steven Rostedt, an official request to pull the per-bdi writeback flusher threads patches from Jens Axboe (including various benchmarks), some sound updates for 2.6.32 from Takashi Iwai, an official merge request for the HWPOISON patch series from Andi Kleen (these extend existing MCE handler coverage to catch transient bit errors in memory pages and take pre-emptive action by killing or otherwise signalling tasks experiencing memory corruption, in certain cases), some NFS client changes for 2.6.32 from Trond Myklebust, some OCFS2 updates for 2.6.32 from Joel Becker, some networking and SPARC updates (including initial LEON processor support from Konrad Eisele, basic software performance counters support from Jens Axboe, and very simple hardware counter support for UltraSPARC IIIi and Niagara-2) from David Miller, some KVM updates (including support for MCE injection, irqfd/ioeventfd mechanisms for communicating with guests, “unrestricted guests” on Intel systems – improving real-mode support – nested SVM improvements, syscall and sysenter emulation support, support for 1GB pages on AMD systems, and x2apic support for improved SMP performance all around) from Avi Kivity, some documentation updates from Jonathan Corbet, an initial round of SCSI updates for 2.6.32 from James Bottomley, some suspend updates from Rafael J. Wysocki, and several ftrace updates from Steven Rostedt (including a new mechanism to automate discovery of the output format being used by ftrace).

In today’s pull requests from (the village of) Ingo Molnar: core, debug, futuxes, Oprofile updates for 2.6.32, some threaded IRQ updates for 2.6.32, performance counters updates for 2.6.32, scheduling updates, tracing updates for 2.6.32, x86 updates for 2.6.32, and probably a lot more.

In today’s miscellaneous items: a patch splitting out separated read and write statistics for in flight block IO (bio) requests from Nikanth Karthikesan, a fix to fanotify support in the networking tree adding defines for the fanotify socket number declarations from Eric Paris, a fix to the io controller group code “root only” group optimization from Gui Jianfeng, some /dev/mem cleanups from Fengguang Wu, version 20 of the per-bdi writeback flusher threads patch series from Jens Axboe (mostly a rebase to 2.6.31 – Jens also posted a series of patches separately that should be applied post-merge of the per-bdi writeback flusher threads patch series), a patch removing automated scaling of readahead size on md if the RAID chunk size is greater than or equal to 4MB from Fengguang Wu, some tracing cleanups from Jiri Olsa, some documentation updates from Randy Dunlap, a kernel-level configfs enabled generic target engine for Linux (allowing for persistent registrations and multipath configurations within the ISCSI stack) from Nicholas A. Bellinger (he includes links to online wiki resources providing documentation), an RFC patch series implementing a trace module extension for crash (allowing for flight-recorder style usage) from Lai Jiangshan, support for timestamps on fork events in performance counters from Arjan van de Ven (as a required dependency of his timechart tool), an update to fix a situation in which creds->security could be NULL if SELinux is disabled from Eric Paris, some tree RCU fixes from Paul E. McKenney, some trivial warning cleanups from Filipe Contreras, some RFC PCI/ACPI run-time PM patches from Rafael J. Wysocki, and some ongoing discussion of the BFS.

In today’s announcements: Linux 2.4.37.6. Willy Tarreau announced version 2.4.37.6 of the Linux kernel. This release focuses mostly on fixing the various vulnerabilities causing information leakage to userspace, and so it is obviously a good idea to upgrade if you are running a 2.4 series kernel.

Git 1.6.4.3. Junio C Hamno announced the release of version 1.6.4.3 of the GIT SCM utility used in Linux kernel development (and other projects). The latest release includes a fix for an unnecessary error message during the git clone operation of an empty directory, and a number of other fixes.

The latest kernel release was 2.6.31.

Gene Heskett reported a potential regression on 2.6.31, which occurs when enabling the latency tester, and manifests in the form of zeroed CPU usage statistics reported in the gkrellm utility. Tetsuo Handa noticed a potential memory leak in load_module that was being reported by kmemleak. Parag Warudkar noted that the boot time trace testing recently increased from 3 seconds to 41 seconds and seems to be performing some tests three times.

Stephen Rothwell posted a linux-next tree for September 11th. Since Thursday, the rr and block trees have build failures, which the scsi-post-merge tree lost its build failure. Stephen reminds everyone that they should not begin pushing patches intended for 2.6.33 into linux-next until at least 2.6.32-rc1 has been released. The total sub-tree count remains steady today at 140 trees in the latest linux-next compose.

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

Categories: episodes Tags: