Linux 3.19 has been released
Summary: This release adds support for Btrfs scrubbing and fast device replacement with RAID 5 and 6, support for the Intel Memory Protection Extensions that help to stop buffer overflows, support for the AMD HSA architecture, support for the debugging ARM Coresight subsystem, support for the Altera Nios II CPU architecture, networking infrastructure for routing and switching offloading, Device Tree Overlays that help to support expansion busses found on consumer development boards like the Beaglebone or Raspberry Pi, support for hole punching and preallocation in NFSv4.2, and the Android binder has been moved from the staging area to stable. There are also new drivers and many other small improvements.
Btrfs: support scrubbing and fast device replacement in RAID 5 and 6
Btrfs added support for fast & live device replacement in Linux 3.8
The process of scrubbing a Btrfs filesystem (see btrfs-scrub(8)
Code: commit
Support for the Intel Memory Protection Extensions
Intel's Memory Protection Extension
Recommended LWN article: Supporting Intel MPX in Linux
Recommended Intel article: Introduction to Intel Memory Protection Extensions
Code: commit
HSA driver for AMD GPU devices
HSA, or Heterogeneous System Architecture, is a type of computer processor architecture that integrates central processing units and graphics processors on the same bus, with shared memory and tasks. HSA allows different processor types (CPUs, DSPs, GPUs, etc..) to share system resources more effectively via HW features including shared pageable memory, userspace-accessible work queues, and platform-level atomics.
This release includes HSA support for radeon-family processors, and offers an API that is used by a HSA open-source library
Code: drivers/gpu/drm/amd/amdkfd
Android binder moved to stable
The Android binder code has been placed in the "staging" are of the kernel for a long time. The code, however, has been stable for many years now and it has been shipped in millions of phones. There has been reticences over binder, but no matter what comes in the future, Linux is going to have to support this API anyway, so might as well move it to the "real" part of the kernel.
Code: commit
ARM Coresight support
Coresight is an umbrella of technologies allowing for the debugging of ARM-based SoC. ARM has developed a HW assisted tracing solution by means of different components, each being added to a design at synthesis time to cater to specific tracing needs. Components are generally categorised as source, link and sinks and are (usually) discovered using the AMBA bus. "Sources" generate a compressed stream representing the processor instruction path based on tracing scenarios as configured by users. From there the stream flows through the Coresight system (via ATB bus) using links that are connecting the emanating source to a sink(s). Sinks serve as endpoints to the Coresight implementation, either storing the compressed stream in a memory buffer or creating an interface to the outside world where data can be transferred to a host
The Linux Coresight framework provides a kernel interface for the Coresight debug and trace drivers to register themselves with. It's intended to build a topological view of the Coresight components based on a DT specification and configure the right series of components when a trace source gets enabled.
For more details about the Linux Coresight framework: see Documentation/trace/coresight.txt
For details about ARM Coresight: http://www.arm.com/products/system-ip/debug-trace/
Code: drivers/coresight/
New architecture: Altera Nios II processors
This release adds support for Altera Nios II processors. Nios II is a 32-bit embedded-processor architecture designed specifically for the Altera family of FPGAs. Nios II incorporates many enhancements over the original Nios architecture, making it more suitable for a wider range of embedded computing applications, from DSP to system-control.
For more information about the Nios II processors see http://www.altera.com/literature/lit-nio2.jsp
For more information on how compiling and booting software for the Nios II platform: http://www.rocketboards.org/foswiki/Documentation/NiosIILinuxUserManual
Code: arch/nios2
Device Tree overlays
The Device Tree is a data structure for describing hardware that is passed to the operating system at boot time, rather than hard coding every detail of a device into an operating system. It is used most often in architectures like powerpc and ARM. The Device Tree is designed with static systems in mind, and has troubles adapting to custom expansion busses commonly found on consumer development boards like the BeagleBone or Raspberry Pi.
This release introduces Device Tree overlay support. Overlays are a method to dynamically modify part of the kernel's device tree and make changes to properties in a existing tree. This makes easier to support devices such as the BeagleBone or Raspberry Pi.
Recommended LWN article: Device tree overlays
Code: commit
Networking: support for routing and switching offloading
This release includes infrastructure to support hardware switch chips (in very generic meaning of the word "switch"). This include devices supporting L2/L3 but also various flow offloading chips, including switches embedded into SR-IOV NICs.
Also included is the first driver to benefit from this new switchdev infrastructure, it is a "rocker" driver for emulated switch chip implemented in qemu
Code: commit
NFSv4.2 support for hole punching and preallocation
This release adds support for hole punching and preallocation in NFSv4.2 setups
Code: commit