In association with heise online

27 November 2009, 10:10

Kernel Log: Coming in 2.6.32 (Part 5) - Architecture code, memory management, virtualisation and tracing

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

by Thorsten Leemhuis

The forthcoming kernel version will support Intel's Moorestown platform, SFI - the alternative to ACPI, and the Trusted Execution Technology, which used to be called "LaGrande Technology". If required, the new KSM can now reduce memory loads by combining identical memory content in virtual machines. The new kernel also includes Timechart, a new tool for visualising what's going on in the system and kernel.

Since Linus Torvalds has been on the road this week, there have been no changes to the main development branch in the past few days. However, numerous developers have already sent emails to the LKML, asking the father of Linux to merge corrections. As the number of bug fixes increases, so does the likelihood that Torvalds will throw in another release candidate of 2.6.32 when he returns – when releasing Rc8, the father of Linux had still hoped this might be the last release candidate.

Therefore, the Kernel Log will wrap up its report about the new features of 2.6.32 with parts 5 and 6. This issue discusses the changes in terms of architecture code, memory management, virtualisation and tracing in the penultimate part of its "Coming in 2.6.32" series. The previous four parts of the series discussed the advancements in the network subsystem as well as those in the fields of graphics hardware, storage hardware, filesystems and further drivers.

X86 systems

A new addition to the kernel is the support of Intel's Trusted Execution Technology (TXT), formerly known as LaGrande Technology. Together with the components of the Trusted Boot (tboot) project, TXT systems can ensure that a kernel hasn't been attacked and compromised before executing it. Details about this technology can be found in the kernel documentation and in an article on LWN.net.

The Linux kernel can now be optimised for Atom CPUs during compilation. The kernel hackers have also integrated code to support Intel's Simple Firmware Interface (SFI) – an alternative to ACPI developed by Intel and intended for use with the Moorestown platform Intel plans to introduce next year. Moorestown is heavily geared towards Linux use and is intended for smartphones, Mobile Internet Devices (MIDs) and embedded environments. Details about SFI can be found in a presentation given by the ACPI subsystem's maintainer, Intel employee Len Brown, at the Linux Symposium 2009. Further components to support Moorestown have also been integrated into the kernel – they are based on Thomas Gleixner's partial overhaul of the x86 support that allows an improved abstraction of x86 platforms like Moorestown.

Virtualised

KVM now supports the "unrestricted guest" mode of Intel's next generation of desktop and notebook processors (Westmere), which is scheduled for release under product names such as Core i3 or Core i5 in early 2010. The main Git-Pull request by KVM developer Avi Kivity discusses further improvements to KVM – including improved tracing facilities and the eventfd-based irqfd and ioeventfd mechanisms for integrating user software and kernel software with guest systems.

That paravirtualisation is losing importance is indicated by a change introduced by VMWare developers which announces that the Virtual Machine Interface (VMI) will no longer be supported from Linux 2.6.37. VMWare used to advocate the VMI. The developers say the reason for this extensively discussed step is that the virtualisation techniques offered by modern CPUs have become so sophisticated that VMI-based paravirtualisation often adds no significant further performance improvements.

Memory management

Another new addition is KSM, which originates from the KVM developer circle. The acronym is short for "Kernel Shared Memory" or "Kernel SamePage Merging" and describes a framework which scans the memory of multiple userland processes for identical areas; if it finds matching areas, it combines them and reduces the memory load by deallocating the redundant copies. This is, for instance, interesting for KVM virtualisations where multiple similar guest operating systems that share the same software libraries and programs run on a computer, causing large areas of the data stored in the guests' memory to be identical.

An article about the Linux Symposiums 2009 in The H Open and the text version of an OLS 2009 presentation it links to, describe the technology in detail and explain how KSM ensures that there is no chaos when a process modifies a shared memory segment. The PDF document also mentions how CERN used KSM for reducing its hardware requirements when processing the data generated by the LHC (Large Hadron Collider).

The new HWPOISON, which was introduced by Intel developer Andi Kleen, adds some techniques for handling and avoiding memory errors. These techniques are planned to be included in Intel's Nehalem EX series of server processors, which is expected in early 2010. Details can be found in the commit comment, the kernel documentation, and in an article on LWN.net.

Tracing

The emerging Performance Counters have been renamed Performance Events, because this apparently better describes this technology, which has seen major advancements in the past few months. The extent to which the kernel's performance and runtime analysis infrastructure is transforming is also indicated by the lengthy Git-Pull requests submitted for the Performance Counters/Events (1, 2), for the tracing subsystem and for Oprofile, which briefly mention the most important changes in the respective subsystems. Among them is the ring-buffer, which is now completely lockless and utilises the tracing code to a large degree – once again background information about this can be found on LWN.net.

Also new is the "perf sched" sub-program, which adds convenience to the task of analysing the process scheduler. Another new addition is the Timechart tool mainly developed by Arjan van de Ven, which allows traces recorded via "perf record" to be visualised as SVGs for easy analysis – in his blog, van de Ven explains the whole procedure in detail and gives various examples of use.

Minor Gems

Many further minor, but by no means insignificant, changes can be found in the list below. Like many of the references in the text above, the links point to the relevant commits in the web front end of the Git branch at kernel.org that Linus Torvalds uses for maintaining the kernel sources. There, the commit comments and the patches themselves provide extensive further information on the respective changes.

Architecture

ARM

Power

x86

Others

Memory Management (MM)

Tracing

Virtualization

For other articles on 2.6.32 and links to the rest of the "Coming in 2.6.32 " series, see The H's Kernel Log - 2.6.32 Tracking page. (thl /c't).

(crve)

Print Version | Send by email | Permalink: http://h-online.com/-870357
 


  • July's Community Calendar





The H Open

The H Security

The H Developer

The H Internet Toolkit