3.13 Merge window, part 1
Some of the more noteworthy user-visible changes pulled so far include:
- At long last, the nftables packet
filtering subsystem has been merged. Nftables replaces the current
firewalling code with an in-kernel virtual machine that adds
flexibility and enables the (eventual) removal of a lot of duplicated
code. It will exist alongside iptables for some time until it's clear
that the old code can be removed without breaking existing firewall
setups.
- The "secure element" near-field communications API is now supported;
among other things, it can be used to support payments over NFC.
- The new SO_MAX_PACING_RATE socket option can be used to cap
the maximum pacing rate (as described in this article on TSO sizing) used for a
connection; it only works with the
FQ packet scheduler.
- The networking layer has gained support for IPv6 virtual tunnel
interfaces.
- The network traffic control subsystem has a new packet classifier
based on the Berkeley Packet Filter (BPF) virtual machine. This
allows classification programs to be loaded into the kernel as
bytecode which can then be compiled with the kernel's BPF JIT compiler. The only documentation
for this feature appears to be in the
patch changelog.
- The High-availability
seamless redundancy (HSR) protocol is now supported in the network
stack. HSR provides low-latency failover in Ethernet networks.
- The use of TCP fast open is now
enabled by default.
- The ipset firewalling subsystem now supports network namespaces.
There is also a new "hash:net,port,net" module that allows two subnets
and a protocol or port number to be stored together in a set.
- The "ktap" dynamic tracing facility was briefly merged through the
staging tree, but subsequently reverted; see this article for the underlying story.
- The 64-bit ARM architecture has gained support for big-endian systems,
CPU hotplug, and a 42-bit virtual address space when the 64K page size
is in use.
- Support for the unmaintained ARM "shark" and Renesas H8/300
subarchitectures has been removed.
- The PowerPC architecture now supports little-endian systems.
- The "perf" tool has seen a lot of enhancements; see Ingo
Molnar's pull request for a detailed list.
- An extensive set of NUMA scheduling
patches has been merged, hopefully fixing a number of the kernel's
longstanding performance-related problems in this area.
- The maximum number of CPUs supported by the x86 architecture has been
raised to 8192. There are evidently systems out there now that exceed
the old value (4096).
- New hardware support includes:
- Systems and processors:
Renesas r7272100 and r8a7791 systems and
NVIDIA Tegra T124 systems.
It's worth noting that the number of new systems with explicit
board support is dropping, while the number of systems supported
through device trees is growing quickly.
- Audio:
Audio interfaces based on the TC Applied Technologies DICE chip.
- Miscellaneous:
Allwinner sunxi security ID fuses (read-only),
Intel "many integrated core" (MIC) coprocessor devices,
Microchip Technology MCP3422/3/4 analog-to-digital converters,
TAOS TSL4531 ambient light sensors,
TAOS TCS3472 color light-to-digital converters,
Sharp GP2AP020A00F Proximity/ALS sensors,
Micron SPI NAND flash controllers,
Capella CM36651 proximity and RGB sensors,
Freescale MAG3110 3-Axis magnetometers,
Samsung S3C24XX DMA controllers,
AMS AS3722 PMIC voltage regulators and pin controllers,
ST Microelectronics STW481X VMMC regulators,
ADI BF54x and BF60x pin controllers,
Abilis Systems TB10x pin controllers,
Freescale IMX27 and IMX50 pin controllers, and
Broadcom Kona GPIO controllers.
- Networking:
Qualcomm Atheros WCN3660/3680 wireless interfaces,
Sony Port-100 Series USB NFC interfaces, and
MOXA ART MDIO interfaces.
- Physical layer (PHY):
Samsung S5P/EXYNOS SoC series MIPI CSI-2/DSI PHYs,
Samsung EXYNOS SoC series Display Port PHYs, and
Renesas R-Car Gen2 USB PHYs.
- Real-time clocks: AMS AS3722 RTCs and Samsung S5M RTCs.
- Systems and processors:
Renesas r7272100 and r8a7791 systems and
NVIDIA Tegra T124 systems.
It's worth noting that the number of new systems with explicit
board support is dropping, while the number of systems supported
through device trees is growing quickly.
Changes visible to kernel developers include:
- There is a new "generic PHY framework" to assist with the writing
of drivers for physical connection devices; network, SATA, and USB
drivers should be able to make use of this framework. See Documentation/phy.txt for more
information.
- There is a new kobj_completion object which pairs a kobject
with a completion, making lifecycle-matching easier. See
<linux/kobj_completion.h>
for the interface.
- Directory removal in sysfs is now recursive: removing a directory will
cause the removal of all subdirectories as well.
- The new utility function rcu_is_watching() returns true if
it is safe for the current processor to enter an RCU read-side
critical section.
- There is a new earlyprintk=efi command-line option that
causes early printk() output to go to the EFI framebuffer.
It is meant to help with the debugging of early boot problems.
- The GPIO descriptor API has been merged, foreshadowing the eventual removal of the number-based API.
In theory, the 3.13 merge window could stay open for a week longer than
usual, meaning that it could close as late as November 24. Given the
amount of code merged and poised to be merged, though, it would not be
surprising if Linus were to decide to close things earlier than that. So
subsystem maintainers should not count on the merge window remaining open
that long.
Index entries for this article | |
---|---|
Kernel | Releases/3.13 |