Linux kernel 3.0
Linus Torvalds announced the release of a test version of the Linux kernel 3.0-rc1, finalizing the plan to change the version numbering. Thus, version 2.6.39 can be considered the last release of the 2.6.x branch, which has been in development for about 10 years.
The announcement separately emphasizes that version 3.0 should not be considered some kind of cardinal step, which could be observed with the appearance of GNOME 3.0 or KDE 4.0. The Linux kernel 3.0 is just a formal renumbering timed to coincide with the project's 20th anniversary and the 2.6.x branch's 10th anniversary, nothing more. There will be no major compatibility issues or special innovations. The new kernel will smoothly continue the development of the current codebase and will be comparable to version 2.6.40 in terms of the level of innovations. The development process will also remain the same.
The next release after 3.0 will be version 3.1, then 3.2, and so on, until another 10 years pass or there is a need for fundamental changes associated with a global rework of key subsystems or a violation of compatibility. As patches accumulate, corrective updates will be presented as 3.0.1, 3.0.2, 3.0.3, etc.
In the presented version 3.0-rc1, about 2/3 of all changes are related to the device driver code. Other changes include:
- Adding an implementation of a new Cleancache cache type, which can be used by the kernel to store data that is recoverable from other sources, which is not afraid to lose, but if there are resources, it's good to keep it in memory. For example, Cleancache can store memory pages associated with files on disk, which, if the cache is cleared, can later be re-read from disk. CleanCache support has already been added to Ext3, Ext4, Btrfs, OCFS2 and Xen. Cleancache is the first practical implementation of the "Transcendent memory" technique introduced in the 2.6.39 kernel to improve system behavior when working with unimportant data (such as cache) in conditions of memory shortage. Essentially, Transcendent memory resembles a RAM disk, with a number of peculiarities: the size of the RAM disk is not known, data writing cannot always be guaranteed, and already written data can be cleared (deleted).
- Support for separate file descriptor numbers within isolated Namespaces. Namespace is a kind of lightweight virtualization technique in which some processes can be cut off from the rest of the system, running in a separate namespace and not affecting other parts of the system.
- Continued refactoring of code related to the ARM platform;
- Carrying out optimization and cleaning of the code in the VFS subsystem;
- Adding a driver developed by the OpenKinect project for Microsoft Kinect devices. Currently, the driver is able to receive a video stream from the device by interacting with an RGB sensor or a monochrome sensor, i.e. allows you to use Microsoft Kinect as a webcam or infrared camera. Depth sensors are not yet supported;
- Updated code for Intel, Radeon and Nouveau DRM modules. Optimized performance for Intel Sandy Bridge APUs, provided initial support for Intel Ivy Bridge and AMD Fusion Llano APUs;
- Added the missing Xen storage backend, which marked the completion of adding all the Xen components required for Dom0 to work without installing additional patches;
- The netfilter code integrates a JIT rules compiler that supports x86-64 systems, which will significantly increase the packet filter processing performance.
- New rtl8192se driver introduced for Realtek wireless cards;
- Support for unprivileged ICMP sockets, with which you can organize the work of ping and other debugging utilities without granting additional privileges through the suid bit or capabilities.