Linux 4.9

This long term release adds several key features to the XFS file system, based on the reverse mapping work introduced in the previous release. This release adds the ability to share data extents between different files. That is the ability to deduplicate data and the ability to unshare data. It also adds copy-on-write support for data: instead of overwriting data, it copies data to a new location.
The Linux kernel has always mapped the memory used by kernel stacks directly in the kernel memory, an approach that makes harder to allocate stacks under memory load and proves no protection against stack overflows. This release allows to map the kernel stacks in virtual memory, which makes easier to allocate stacks under memory pressure and provides protection against stack overflows.
This release adds another TCP congestion control algorithm: BBR (Bottleneck Bandwidth and RTT). This algorithm is based on bandwidth measurements instead of packet loss. The Internet has predominantly used loss-based congestion control, relying on packet loss as the signal to slow down. On today’s Internet, loss-based congestion control causes the infamous bufferbloat problem, often causing seconds of needless queuing delay, since it fills the bloated buffers in many last-mile links. On today’s high-speed long-haul links using commodity switches with shallow buffers, loss-based congestion control has abysmal throughput because it overreacts to losses caused by transient traffic bursts.
BBR creates an explicit model of the network pipe by sequentially probing the bottleneck bandwidth and RTT. BBR has significantly increased throughput and reduced latency for connections on Google’s internal backbone networks and and YouTube Web servers.
Protection keys is a memory protection hardware feature merged in Linux 4.6. But in that release, the use of this feature was limited to the kernel automatically using it in high-level APIs, such as mmap and mprotect. This release adds new syscalls that offer a more complete API to use protection keys.
Coming from the real-time patchset, the hardware latency tracer is a special purpose tracer that is used to detect large system latencies induced by the behaviour of certain underlying hardware or firmware interruptions, like SMIs (System Management Interrupts) on x86 systems, that the kernel is unaware of.
The hardware latency detector works by simply creating a thread that spins on a single CPU polling the CPU Time Stamp Counter for a specified amount of time (width) within a periodic window (window), and trying to find gaps where the polling was interrupted. This is useful for testing if a system is reliable for Real Time tasks.
Among the many drivers implementation there is the experimental support for AMDGPU Southern Islands and AMDGPU virtual display support.
There is also an improved P-State performance for some Intel Atom CPUs and added support for many ARM machines (from Raspberri Pi Zero, Broadcom boards to many Qualcomm platforms).
As usual read the full changelog.

This entry was posted on Saturday, December 17th, 2016 at 5:15 PM and is filed under linux.

You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Comments are closed.