|
|
Subscribe / Log in / New account

The end of the 4.9 merge window

By Jonathan Corbet
October 19, 2016
By the time that Linus released 4.9-rc1 and closed the merge window for the 4.9 development cycle, 14,308 non-merge changesets had found their way into the mainline repository. As expected, this cycle has already broken the previous record for the busiest cycle ever, and it has a while to go still. 820 of those changesets were merged after last week's summary was written. Some of the more interesting changes found in this last set include:

  • The XFS filesystem has gained support for shared extents — ranges of file data that can be shared between multiple owners — and a copy-on-write mechanism to manage modifications to those extents. That, in turn, allows XFS to support copy_file_range() along with other nice features like data deduplication.

  • The NFS server now supports the NFS4.2 COPY operation, allowing file data to be copied without traveling to the client and back.

  • The watchdog subsystem has a new "pretimeout" mechanism to allow the system to respond just prior to the expiration of a timer. Two new "governors" are provided; one simply prints a log message, while the other will panic the system in the hope of generating more useful information for debugging the problem.

  • A set of EXPORT_SYMBOL() improvements has been merged. It is now possible to place export directives into assembly code, and the handling of exported symbols in library objects has been improved. One immediate practical result is that it is now possible to place all EXPORT_SYMBOL() directives next to the definition of the symbol that is being exported. At the moment, checksums (for use with CONFIG_MODVERSIONS) for assembly symbols are not generated; that should be fixed in the near future.

  • The build system can now use "thin archives" for the creation of intermediate objects, rather than linking them with ld -r. A thin archive contains symbol information, but simply points to the component object files rather than making copies. The main purpose here seems to be to make the PowerPC build work more smoothly; see this commit for some more information.

  • The build system can also perform dead code and data elimination. This option is potentially hazardous, since, without some extra effort, the linker may see some needed code as being dead, but it can also reduce the resulting image size considerably.

  • There is a new GCC plugin called "latent_entropy", which comes from the grsecurity/PaX patch set. It will instrument the kernel in an attempt to collect randomness, especially during the early bootstrap process.

  • New hardware support includes: Loongson 1C processors, Freescale "data patch acceleration architecture" hardware buffer and queue-management subsystems, and Imagination Technologies ASCII LCD displays.

At this point the feature work is done; all that remains is to stabilize all that new code for the final 4.9 release. If all goes according to the usual schedule, that release can be expected on December 4 or 11.

Index entries for this article
KernelReleases/4.9


to post comments

The end of the 4.9 merge window

Posted Oct 20, 2016 0:32 UTC (Thu) by zlynx (guest, #2285) [Link] (1 responses)

So does the NFS server translate COPY into a CoW reflink? Both of those things being in the change log.

The end of the 4.9 merge window

Posted Oct 20, 2016 18:23 UTC (Thu) by bfields (subscriber, #19510) [Link]

It calls the filesystem's copy_file_range if available, and on btrfs for example that should do CoW tricks. Otherwise it falls back on a read-write loop.

Hopefully it should be an improvement even when it falls back on a read-write loop, as at least the data doesn't have to travel to the client and back.


Copyright © 2016, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds