Late Changes in kernel

Virtualization

  • Using UEFI/OVMF In VMs With Virt-Manager
  • QEMU 2.5 Released With The VirtIO GPU 3D Support
  • KVM In Linux 4.2 Adds Support For x86 Write Combining, SMM
  • Xen Gains PVSCSI Support With Linux 3.18 Kernel
  • Linux 4.1: Full DynTicks For KVM Guests To Become Possible
  • Intel GVT-g GPU Virtualization Moves Closer
  • QEMU 2.1 To Bring More Complete 64-bit ARM Support

Linux 4.0

  • Live kernel patching
  • pNFS block server support

    For Linux 4.0/3.20, XFS is the only file-system supporting this feature.

    Linux 4.1

  • Intel XenGT vGPU support for those wanting Intel graphics acceleration support from Xen guests. The KVM support is still being developed.
  • EXT4 file-system encryption thanks to work done by Google in looking to add file-system-level EXT4 encryption for Android.
  • Native ZFS for Linux http://zfsonlinux.org/.

    ZFS on Linux, which is also known as ZoL, is currently feature complete. It includes fully functional and stable SPA, DMU, ZVOL, and ZPL layers. Compatible with 2.6.32 - 4.5 Linux kernels.

Linux 4.2

  • OverlayFS: a new type of read-only file system that is useful because it can enable many containers to be layered on top of each other
  • Improve small packet performance, which is important for areas such as high-frequency financial trading. The improvements are aimed at reducing the amount of time and power needed to process each data packet.
  • Improve Live Kernel patching, first introduced in the Linux 4.0 kernel.
  • libnvdimm: Non-volatile memory device support will be added through libnvdimm for the Linux 4.2 kernel.

    Libnvdimm is a new subsystem for the Linux 4.2 kernel and contains drivers and x86 support.

    The libnvdimm subsystem is about supporting ACPI 6 non-volatile memory devices. ACPI 6.0 adds a NVDIMM firmware interface table (NFIT) and support for registering non-volatile memory devices.

    One of the drivers made part of this subsystem is the PMEM driver from Linux 4.1 for persistent memory. There's also a BLK driver for persistent memory media through "Block Data Windows" and BTT.

Linux 4.4

  • sched/fair: Fix multiplication overflow on 32-bit systems
  • x86/xen: Avoid fast syscall path for Xen PV guests

Linux 4.6

  • CGroup Namespaces Support

    "Cgroups and Namespaces are used together to create 'virtual' containers that isolates the host environment from the processes running in container. But since cgroups themselves are not 'virtualized', the task is always able to see global cgroups view through cgroupfs mount and via /proc/self/cgroup file."

    Another cgroup NS patch went on to explain, "The main purpose of cgroup namespace is to virtualize the contents of /proc/self/cgroup file. Processes inside a cgroup namespace are only able to see paths relative to their namespace root (unless they are moved outside of their cgroupns-root, at which point they will see a relative path from their cgroupns-root). For a correctly setup container this enables container-tools (like libcontainer, lxc, lmctfy, etc.) to create completely virtualized containers without leaking system level cgroup hierarchy to the task."

  • enabling of full ASLR randomization for 32-bit programs.

    Currently on i386 and on X86_64 when emulating X86_32 in legacy mode, only the stack and the executable are randomized but not other mmapped files (libraries, vDSO, etc.). This patch enables randomization for the libraries, vDSO and mmap requests on i386 and in X86_32 in legacy mode.

  • F2FS File-System Being Further Enhanced

    F2FS is the Flash-Friendly File-System for Linux developed by Samsung and part of the mainline Linux kernel. F2FS is designed for delivering maximum file-system performance on flash-based storage devices.

    F2FS is a log-structured file-system that was originally developed by Samsung (that article has more details on the F2FS design principles) in October of last year and then merged into Linux 3.8. The initial performance results relayed by the developers were impressive for this open-source file-system that's designed for optimal use on solid-state drives, eMMC, SD cards, and other (NAND-based) flash memory storage devices. Samsung obviously designed F2FS with its many Android-based mobile devices in mind but F2FS may end up becoming quite relevant to servers too. The F2FS file-system's on-disk layout is configurable as is the allocation and cleaning algorithms along with other parameters that can be tuned for optimizing the Linux file-system to a given flash device. http://www.mjmwired.net/kernel/Documentation/filesystems/f2fs.txt

  • OrangeFS

    A new file-system has been merged for the Linux 4.6 kernel.

    The new file-system present for Linux 4.6 is OrangeFS, a project that's been in development for a long time. The origins of OrangeFS dates back to the 90's. The project is self-described as "an LGPL userspace scale-out parallel storage system. It is ideal for large storage problems faced by HPC, BigData, Streaming Video, Genomics, Bioinformatics. Orangefs, originally called PVFS, was first developed in 1993 by Walt Ligon and Eric Blumer as a parallel file system for Parallel Virtual Machine (PVM) as part of a NASA grant to study the I/O patterns of parallel programs."

    OrangeFS supports distributing data among multiple file servers, simultaneous access by multiple clients, stores file data and meta-data on servers using local file-systems, the user-space implementation is simple to deploy, direct MPI support, and it's stateless.

    OrangeFS will be present in Linux 4.6. Those wishing to learn more about OrangeFS can visit http://OrangeFS.org.