Lista para version 3.19

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