4.9 Merge window part 1
- The virtually mapped kernel stacks
work has been merged. This changes how kernel stacks are
implemented on the x86 architecture, allowing the kernel to detect
stack overflows and respond accordingly. With luck, this work will
cut off one avenue for the exploitation of kernel bugs.
- Some ARM64 systems, it seems, have different memory cache-line sizes on
different CPUs; this can confuse software that is trying to do
explicit cache management. Such systems will now report the smallest
size available on any processor.
- The perf tool can break a function down to "basic blocks" and track
events on each; see this
changelog for details.
- There is a new set of files under /sys/kernel/irq describing
the interrupt lines on the system. They are a replacement for
/proc/interrupts that is meant to be easier for programs to
parse.
- SELinux now has support for overlay filesystems, a useful feature for
container deployments.
- New hardware support includes:
- Systems and processors:
systems based on the Mellanox Technologies platform.
- Miscellaneous:
ACPI WDAT watchdog timers,
J-Core AIC interrupt controllers,
Qualcomm MDM9615 global clock controllers,
ISSI IS31FL319x I2C LED controllers,
Qualcomm PM8058 PMIC LED controllers,
Mellanox system LEDs,
APM X-Gene SoC hardware monitoring sensors,
Allwinner A31/A31s clock-control units,
UniPhier clock controllers,
Linear Technology LTC3676 8-output regulators,
Broadcom SPI flash and MSPI controllers, and
Cavium ThunderX SPI controllers.
- USB: SMSC USB4604 high-speed hub controllers, Broadcom Northstar USB 3.0 PHYs, Rockchip/Innosilicon USB2.0 PHYs, and Rockchip PCIe and TYPEC PHYs.
- Systems and processors:
systems based on the Mellanox Technologies platform.
Changes visible to kernel developers include:
- The "local/global lock" (lglock) implementation, added for 2.6.36, has been removed from
the kernel since there are no more users. The ticket spinlock implementation, unused
for a while now, is also gone.
- Software interrupt handling has been changed so that, if the
ksoftirqd kernel thread is running (or requested to run),
software interrupts will not be handled in process context. See this article for the story behind this
change.
- The new CONFIG_DEBUG_TEST_DRIVER_REMOVE configuration option
will cause the kernel to do a probe/remove/probe cycle on device
initialization. This is an easy way to ensure that the driver's
remove logic is automatically tested.
- There is a new registration API for hardware monitoring (hwmon)
devices; see this
commit for some documentation.
- The kernel documentation transition continues. With 4.9, PDF output for reStructuredText documents will be properly supported. There are the bare beginnings of sub-documents for kernel development tools and the driver programming API, and some of the groundwork has been done for a development-process document.
The most likely release date for the 4.9 kernel is December 4, though, if
an extra -rc cycle is needed (as happened with 4.8), that could be delayed
to the 11th. But first we have to get through the rest of the merge
window, during which quite a bit more code should find its way into the
mainline; as usual, LWN will publish updates in the following weeks.
Index entries for this article | |
---|---|
Kernel | Releases/4.9 |
Posted Oct 6, 2016 3:18 UTC (Thu)
by josh (subscriber, #17465)
[Link]
This work also means that kernel stacks can start out smaller, and don't require contiguous allocation of multiple pages. That improves the performance of fork().
Posted Oct 6, 2016 3:56 UTC (Thu)
by jcm (subscriber, #18262)
[Link] (1 responses)
Posted Oct 6, 2016 12:20 UTC (Thu)
by pm215 (subscriber, #98099)
[Link]
Posted Oct 6, 2016 11:12 UTC (Thu)
by sourcejedi (guest, #45153)
[Link] (1 responses)
Posted Oct 6, 2016 12:22 UTC (Thu)
by pm215 (subscriber, #98099)
[Link]
Posted Oct 6, 2016 17:49 UTC (Thu)
by yroyon (guest, #99220)
[Link]
Will there be a canonical place that hosts them?
4.9 Merge window part 1
4.9 Merge window part 1
4.9 Merge window part 1
The BIG.little cache issue (via @mjg59, describing it as "terrifying"): http://www.mono-project.com/news/2016/09/12/arm64-icache/
4.9 Merge window part 1
4.9 Merge window part 1
Documentation output
What about versioning?