3.19 Merge window part 2
- The networking layer has a new subsystem for offloading switching
and routing duties to suitably capable hardware.
- The NFS client and server both now support the NFS 4.2 ALLOCATE and
DEALLOCATE
options. The former can be used to request preallocation of storage
for a file, while the latter is useful for punching holes.
- The f2fs filesystem has a new "fastboot" option that shorts
out a number of boot-time checks.
- Filters used with the ftrace subsystem now support the logical NOT
("!") operator in expressions.
- Device tree overlay support has been
merged. This feature should make life easier for developers working
on systems with "shields" or other types of daughterboards that need
to be worked into the device tree at system boot time.
- There is a new getsockopt() option called
SO_INCOMING_CPU. It returns the CPU on which processing for
the given socket is happening. When used with multi-queue hardware on
large systems, this option can allow an application to divide work
across processors, maximizing throughput.
- It is now possible to attach enhanced BPF
programs to network sockets. For now, this capability can only be
used for statistics gathering, but other applications should become
possible in future development cycles.
- The new "ipvlan" driver enable the creation of virtual network devices
for container interconnection. It is designed to work well with
network namespaces. Ipvlan is much like the existing macvlan driver,
but it does its multiplexing at a higher level in the stack.
- The Btrfs filesystem's RAID5 and RAID6 implementation finally has
support for disk scrubbing and replacement.
- The execveat() system call has been merged. Like the other
"at" system calls, it takes a file descriptor for the directory to be
used as the starting point for finding the executable file. It can
also be used to execute a binary file directly from an open file
descriptor, allowing for a better implementation of the
fexecve() system call found on other Unix-like systems.
- The squashfs filesystem now supports compression with the LZ4
algorithm.
- The "AMD KFD" driver has been merged; it provides a new interface to
graphical processors for non-graphics (e.g. GPGPU) applications.
- Some complaints on the mailing lists notwithstanding, the Android
"binder" code has been moved from the staging tree into the kernel
proper. In the end, it's an API that has been shipped in millions of
systems and has to be supported somehow.
- New hardware support includes:
- Audio:
Intel Baytrail-based audio devices,
Samsung Exynos7 I2S controllers,
NXP Semiconductors TFA9879 amplifiers, and
Texas Instruments TS3A227E headset chips.
- Graphics:
Sharp LQ101R1SX01 panels,
Freescale i.MX GPUs (staging graduation),
R-Car DU HDMI encoders,
Analog Device ADV7511(W) and ADV7513 HDMI encoders, and
Rockchip SoC-based GPUs.
- IIO:
Silicon Labs Si7013/20/21 humidity/temperature sensors,
Bosch Sensortec BMP280 pressure sensors, and
Qualcomm SPMI PMIC current analog-to-digital converters.
- Miscellaneous:
Dallas/Maxim DS1374 watchdog timers,
Freescale Layerscape PCIe controllers,
Qualcomm SPMI PMIC pin controllers,
Intel Cherryview/Braswell pin controllers,
IMG synchronous peripheral flash interfaces,
IMG I2C serial control bus controllers,
Amlogic Meson I2C controllers,
Amlogic Meson SPI flash controllers,
ACPI "platform communication channel" devices,
IBM OPAL real-time clocks,
IBM PowerNV OPAL IPMI interfaces,
IPMI controllers connected via SMBUS,
TI OMAP internal UARTs,
Xilinx Clocking Wizard clock generators (staging), and
TI LP8860 4 channel LED controllers.
- Networking:
Marvell 88E6352 ethernet switch chips and
Rocker network switches.
- USB:
Broadcom USB3.0 device controllers,
STMicroelectronics MIPHY28LP PHYs, and
Marvell Berlin USB PHYs.
- Video4Linux: DVBSky S950 V3 video bridges, Montage M88RS6000 internal tuners, Panasonic MN88472 and MN88473 demodulators, and Amlogic Meson IR remote receivers.
- Audio:
Intel Baytrail-based audio devices,
Samsung Exynos7 I2S controllers,
NXP Semiconductors TFA9879 amplifiers, and
Texas Instruments TS3A227E headset chips.
Changes visible to kernel developers include:
- The x86 memory-management code now makes fuller use of the page
attribute table (PAT) modes offered by current processors. In
particular, this change enables the use of write-through caching.
- There is a new API that allows drivers to obtain device property
information from either ACPI or a device tree without having to know
which is in use. See this
commit for a brief overview of the new calls and this
commit for a related interface for use when no device
structure is present.
- The virtio subsystem has seen a lot of work to make it comply with the
virtio 1.0 standard.
- The I2C subsystem can now enable a Linux system to act like an I2C
slave if the bus controller supports that mode. Documentation is
nonexistent, but we are promised that it will show up before the end
of the cycle.
- The GPIO subsystem can now change the values of multiple GPIO outputs
simultaneously — if the hardware supports it, of course. See the
documentation changes at the top of this
commit for a list of the API additions to support this
functionality.
- The owner field has been dropped from struct
platform_driver, leading to extensive tree-wide changes to remove
all uses of that field.
- Support for the ARM "Coresight" tracing mechanism has been added to
the kernel. See Documentation/trace/coresight.txt for
information about this subsystem and how to work with it.
- Atomic modesetting support has been added to the direct rendering layer; this feature allows multiple graphical mode parameters to be set in a single, atomic operation. See this merge commit for an overview of what's provided. One important thing that is still missing is the actual ioctl() to provide the feature to user space; that will likely come in 3.20 along with more driver support.
As always, the kernel has a wide variety of contributors. While it is often hard to tell a contributor's age from their posted patches, your editor is confident that this patch is the first from a four-year-old to ever make it into the kernel.
At this point, most of the major trees (from contributors of all ages) have
been pulled, so the rate of change in the mainline repository can be
expected to slow. That said, the merge window will probably remain open
until December 21. Next week's summary will cover the final patches
that are pulled for the 3.19 development cycle.
Index entries for this article | |
---|---|
Kernel | Releases/3.19 |
Posted Dec 19, 2014 1:16 UTC (Fri)
by nix (subscriber, #2304)
[Link]
> When I was reading the documentation, my 4-year-old
And that is how an entire community of kernel hackers melted.
Posted Dec 19, 2014 14:24 UTC (Fri)
by ekram (guest, #70515)
[Link] (2 responses)
Posted Dec 19, 2014 19:34 UTC (Fri)
by johannbg (guest, #65743)
[Link] (1 responses)
Posted Dec 19, 2014 21:59 UTC (Fri)
by bronson (subscriber, #4806)
[Link]
3.19 Merge window part 2
> niece wanted to see what I was doing. After telling her,
> she noticed that something was very wrong and asked
> me to fix it. Instead, I helped her fix it herself.
3.19 Merge window part 2
3.19 Merge window part 2
3.19 Merge window part 2