In association with heise online


Changes contributed to Linux 2.6.37 by the Xen development team include 'initial domain support', which adds functions for running the kernel as Dom0 (see e.g. 1, 2, 3, 4, 5, 6, 7). This is of little use to Xen users for now, as drivers for setting up the Xen back end, to allow a guest system to access storage devices and networks, are not yet available. The Xen development team is planning to submit the code for this for merger in 2.6.38, so that it will be possible to run as Dom0 from this version. This, and the Xen code now integrated into the kernel, are however, trimmed down versions, offering less functionality than current versions of Xen or Citrix' XenServer.

Avi Kivity's main git pull request lists some of the more significant changes in KVM, including para-virtualization code for PowerPCs and improvements to timer infrastructure. Support for nested paging on AMD processors should improve performance in nested virtualizations, i.e. when running a VM from within a VM. A VMware developer has, as planned, removed support for VMI (Virtual Machine Interface), VMware's para-virtualization interface, from the Linux kernel. This is no longer considered worthwhile now that x86 CPUs with virtualization technology, able to achieve better performance than para-virtualization, are becoming the norm. Background information can be found in a blog entry on the VMware web site.


The addition of auto-suspend support to the kernel's power management code makes it easier for drivers to utilise run-time energy saving functions. When switching to software suspend, the kernel can now compress the memory image using LZO – this speeds up switching into and out of hibernation, as it requires less data to be written to and read from the hard drive. The amount of memory to be written to the image is no longer fixed, but is now dependent on memory size – a much better option on many modern systems.

With many ACPI interfaces removed from procfs in 2.6.36, some of the deprecated interfaces for exporting fan, thermal and video drivers have now bitten the dust. They are replaced by sysfs files in /sys/class/thermal/cooling_device*/, /sys/class/thermal/thermal_zone*/ and /sys/class/backlight. The functions provided by /proc/acpi/processor/*/throttle are set to disappear in 2.6.38. No replacement is planned, as, according to the commit comments, there is no reason why users should want to modify this feature, designed to protect against overheating.

Bjorn Helgaas had introduced some fairly profound changes to the resource allocation code, which resulted in Linux taking a similar approach to some aspects of hardware configuration to that taken by Windows. There were, however, some problems, and so in RC7 these changes have been reverted.


  • Where the relevant developer files are present, the "make xconfig" command now uses Qt4 instead of Qt3 to generate a configuration program (1, 2).
  • Entering "/" allows a Firefox-like interactive search mode to be called in the text configuration program called using "make nconfig".
  • The Fanotify interface for on-access virus scanners is now available for use – it had previously been integrated into 2.6.36, but was then deactivated shortly before release as a result of some irregularities, and major changes were required to fix these problems.
  • The kernel now offers a third read copy update implementation (RCU) in the form of TINY_PREEMPT_RCU. It is designed for single processor systems and uses less memory than the standard RCU code (TREE_PREEMPT_RCU), and, in contrast to the even smaller and leaner TINY_RCU, can be pre-empted and is therefore useful for real-time applications.
  • Instead of "bootmem", the x86 code now uses memblock (originally LMB/Logical Memory Block) for memory allocation (see e.g. 1 , 2, 3). Memblock is derived from LMB and is already in use on other architectures. Background information on the change and the risks involved can be found in H. Peter Anvin's git pull request.
  • Hwpoison is now able to use soft off-lining to block the use of defective memory areas addressed by the kernel as huge pages (see e.g. 1, 2, 3, 4). Background information can be found in Andi Kleen's main git pull request. This code was also accompanied by some basic functions for migrating huge pages (e.g. 1, 2), but further patches are required before the kernel will actually be able to migrate large memory pages.

Next: Minor gems

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit