Linux 4.10

This release adds support for Intel GVT-g for KVM (KVMGT), a full GPU virtualization solution with mediated pass-through, starting from 4th generation Intel Core (Haswell) processors with Intel Graphics.
Perf c2c (cache to cache) is a new tool designed to analyse and track down performance problems caused by false sharing on NUMA systems. The tool is based on x86’s load latency and precise store facility events provided by Intel CPUs. In modern systems with multiple processors, different memory modules are physically connected to different CPUs. In these systems memory accesses to the local memory are faster than accesses to the memory connected to other processors. When a task is multi-threaded, different threads can run in different CPUs at the same time; if these threads try to access and modify the same memory, they can have performance issues due to the costs of synchronizing the CPU caches.
Perf sched timehist provides an analysis of scheduling events. By default it shows a table with the individual schedule events, including the wait time (time between sched-out and next sched-in events for the task), the task scheduling delay (time between wakeup and actually running) and run time for the task.
This release adds a mechanism that throttles back buffered writeback, which makes more difficult for heavy writers to monopolize the IO requests queue, and thus provides a smoother experience in Linux desktops and shells than what people was used to. The way Linux synchronizes to disk the data written to memory by processes has always had issues. When Linux writes data in the background, it should have little impact on foreground activity. This was not always the case because heavy writes fill up the block layer, and other I/O requests have to wait to be attended. The new algorithm for when to throttle can monitor the latencies of requests, and shrinks or grows the request queue depth accordingly, (it’s auto-tunable). This feature needs to be enabled explicitly in the configuration (and there can be regressions).
A new hybrid block polling method has been added. This method uses less CPU than pure polling: instead of polling after I/O submission, the kernel induces an artificial delay, and then polls after that. This still puts a sleep/wakeup cycle in the I/O path, but instead of the wakeup happening after the I/O has completed, it’ll happen before. Continuously polling a device can cause excessive CPU consumption and sometimes even worse throughput. With this hybrid scheme, Linux can achieve big latency reductions while still using the same (or less) amount of CPU.
Support for ARM devices such as the Nexus 5 & 6 or Allwinner A64 has been improved.
This release adds eBPF (extended Berkeley Packet Filters) hooks for cgroups, to allow eBPF programs for network filtering and accounting to be attached to cgroups, so that they apply to all sockets of all tasks placed in that cgroup.
This release implements a raid5 writeback cache in the MD subsystem (Multiple Devices). Its goal is to aggregate writes to make full stripe write and reduce read-modify-write. It’s helpful for workload which does sequential write and follows fsync for example.
A Intel feature (Intel Cache Allocation Technology) that allows to set policies on the L2/L3 CPU caches: real-time tasks could be assigned dedicated cache space.
The open source NVIDIA DRM driver has initial support for allowing supported graphics cards to hit their “boost” clock frequencies for achieving higher performance.
Through various pull requests there’s been efforts for getting the AMD Ryzen processor support squared away in the mainline Linux kernel.
For the AMDGPU driver, there have been various Radeon Southern Islands and Sea Islands improvements this cycle. There have also been more AMDGPU improvements around PowerPlay / power management.
The Linux 4.10 HID work includes a sensor-hub fix to support the Microsoft Surface 3 (other Surface 3 work landed in Linux 4.8) as well as supporting multi-touch data with the Surface 3. Surface 4 HID support was also added for this kernel cycle.
Here is the full changelog.

This entry was posted on Saturday, February 25th, 2017 at 10:52 AM 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.