|
|
Subscribe / Log in / New account

4.16 Merge window part 1

By Jonathan Corbet
February 2, 2018
As of this writing, just over 6,700 non-merge changesets have been pulled into the mainline repository for the 4.16 development cycle. Given that there are a number of significant trees yet to be pulled, the early indications are that 4.16 will be yet another busy development cycle. What follows is a summary of the significant changes merged in the first half of this merge window.

Core kernel

  • Initial support for the Jailhouse hypervisor has been added for the x86-64 architecture. With this support, it's possible to run Linux in a non-root cell.
  • The deadline scheduler has been given an understanding of CPU frequency and voltage scaling; that allows it to operate properly without the need to disable power-saving features.
  • The arm64 architecture can now work with 52-bit physical addresses on suitably equipped hardware.
  • The Berkeley Packet Filter (BPF) virtual machine now has support for the defining and calling of functions within BPF programs.

Filesystems and block layer

  • The MultiMediaCard subsystem (which handles storage devices like Secure Digital cards) has been reworked to use the multiqueue block API. That should bring performance improvements among other benefits.

  • The I/O schedulers have gained support for locked zones on block devices; this is used to prevent reordering of writes on zoned devices where writes must be performed sequentially.

  • The CIFS filesystem has experimental support for SMB Direct, which can use remote DMA (RDMA) to transfer SMB packets.

  • The Btrfs filesystem now supports the fallocate() FALLOCATE_FL_ZERO_RANGE operation.

  • The NFS client can now use the query flags in the statx() system call to avoid calling to the remote server if the needed information is available locally.

  • The new RWF_APPEND flag to pwritev2() will append the data to the file regardless of the current offset.

Networking

  • The new "netdevsim" virtual device exists to help in the testing of hardware-offload features in the networking stack. It simulates various offload operations so that higher-level code can be tested without the relevant hardware being present. The initial use case is for testing BPF offload support.

  • The Netware IPX and NCPFS protocol implementations are old, unmaintained, and unused; they have been moved to the staging tree ahead of their eventual deletion from the kernel.

Security-related

  • The arm64 architecture has gained the ability to invalidate the branch prediction unit, a defense against the Spectre variant-2 vulnerability. Also added to arm64 is kernel page-table isolation to defend against Meltdown.

Hardware support

  • Audio: Texas Instruments PCM186x and TLV320AIC32x4 codecs, Texas Instruments TAS6424 quad-channel audio amplifiers, Maxim integrated MAX98373 speaker amplifiers, STMicroelectronics STM32 DFSDM digital audio interfaces, Tempo Semiconductor TSCS42xx codecs, and Socionext UniPhier LD11/20 codecs.
  • Bus: Eckelmann SIOX buses, SLIMbus buses, Qualcomm SLIMbus controllers, and SoundWire two-pin buses.
  • Cryptographic: STMicroelectronics STM32 CRYP1 cryptographic accelerators, Chelsio IPSec XFRM Tx crypto offload engines, and Samsung Exynos true random number generators.
  • Industrial I/O: IDT ZOPT2201 ALS and UV B sensors and STMicroelectronics UVIS25 UV sensors.
  • Networking: Hisilicon HNS3VF network acceleration engines, MediaTek MT76x2E wireless network interfaces, Socionext AVE Ethernet interfaces, SocioNext NetSec gigabit Ethernet controllers, and Cortina Gemini Ethernet controllers.
  • Miscellaneous: Realtek rts5260 card readers, RAVE supervisory processor units, Nuvoton W83773G hardware-monitoring chips, Spreadtrum SC2731 power regulators, Texas Instruments DDR3 ECC controllers, Texas Instruments LM3692x LED controllers, Winbond Super I/O GPIO controllers, and Oracle SPARC data analytics accelerators.
  • The LED subsystem has a new trigger type (NETDEV) that can trigger an LED based on network activity.

Internal kernel changes

  • The handling of the inode i_version field has changed to eliminate changes (which must be expensively flushed to storage) when nobody is paying attention. There is a new API (found in this commit) for working with i_version.
  • High-resolution timer (hrtimer) functions have traditionally run in hard-interrupt context. Many users actually need to be running in software-interrupt context, though, leading to a situation where a lot of hrtimer functions do nothing except start a tasklet to get the real work done. 4.16 adds two new timer modes (HRTIMER_MODE_REL_SOFT and HRTIMER_MODE_ABS_SOFT) that run the timer function in software-interrupt context to begin with, eliminating the need for the tasklet.
  • The return type of the poll() method in struct file_operations has been changed to the new __poll_t type. It is a bitwise type that facilitates automatic checking for a number of common mistakes in poll() implementations.
  • The new snap-pkg target in the build system can be used to create a Snap package containing a built kernel.
  • The parser used by the configuration system is now directly generated with flex and bison; those tools are thus now part of the kernel's build requirements.

The 4.16 merge window will probably close on February 11; the final 4.16 kernel release can, barring another significant security surprise, be expected on April 1 or 8. Stay tuned for the second article in this series, which will cover the second half of the merge window for this development cycle.

Index entries for this article
KernelReleases/4.16


to post comments

4.16 Merge window part 1

Posted Feb 4, 2018 18:05 UTC (Sun) by fratti (guest, #105722) [Link] (3 responses)

>The Berkeley Packet Filter (BPF) virtual machine now has support for the defining and calling of functions within BPF programs.

I predict that by 2020, around 90% of the kernel will have been rewritten in eBPF, with only a few subsystems desperately clinging onto C.

4.16 Merge window part 1

Posted Feb 4, 2018 18:40 UTC (Sun) by xtifr (guest, #143) [Link]

And we'll see a prototype of the first functional mail-user-agent written in eBPF, which means the first web browser can't be far behind! :D

4.16 Merge window part 1

Posted Feb 4, 2018 19:08 UTC (Sun) by josh (subscriber, #17465) [Link] (1 responses)

I certainly look forward to the first driver written entirely in eBPF, nicely sandboxed and prevented from accessing anything it doesn't declare in advance.

4.16 Merge window part 1

Posted Feb 4, 2018 19:59 UTC (Sun) by fratti (guest, #105722) [Link]

Unless of course there's another CPU bug^Wfeature, in which case sandboxes become meaningless and JIT becomes the attack vector.

That's a LOT of memory

Posted Feb 5, 2018 3:23 UTC (Mon) by pr1268 (subscriber, #24648) [Link] (9 responses)

The arm64 architecture can now work with 52-bit physical addresses on suitably equipped hardware.

That's 4,503,599,627,370,496 bytes, or 4 pebibytes.

Anyone out there with an arm64 device with that much memory? (If so, I'd love to see a picture of said device.) ;-)

That's a LOT of memory

Posted Feb 5, 2018 9:30 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link] (4 responses)

You can rent a 4Tb system on Amazon AWS these days. 4 Pb is just 1000 times larger. It's not too hard to believe that there's such a system somewhere out there in the depths of NSA.

That's a LOT of memory

Posted Feb 5, 2018 11:02 UTC (Mon) by willy (subscriber, #9762) [Link] (3 responses)

You run into issues finding a machine with enough DIMM slots. Currently I don't see anything larger than 64GB on Newegg. 64 slots gets you 4TB, which is already a pretty expensive machine. You'd need 65536 slots to get to 4PB. I expect the NSA is doing nothing like this; rather I expect large customers to be creating more loosely coupled systems each with TB of RAM.

If you look at the most extreme public Machine from HP, it has 160TB. They claim a limit of 4096YB (92 bits), which I'm pretty sure refers to the number of address bits in the genZ packet.

P.S. Don't think about the UBER of 2^52 bits of memory ...

That's a LOT of memory

Posted Feb 5, 2018 11:36 UTC (Mon) by matthias (subscriber, #94967) [Link]

It is not necessarily DIMM. Non-volatile memory uses the same address space. And there you have bigger units than 64GB.

That's a LOT of memory

Posted Feb 5, 2018 12:43 UTC (Mon) by epa (subscriber, #39769) [Link] (1 responses)

It's hotplug. "Please insert memory module number 15348 into any slot to continue."

That's a LOT of memory

Posted Feb 5, 2018 12:56 UTC (Mon) by hthoma (subscriber, #4743) [Link]

> "Please insert memory module number 15348 into any slot to continue."

;-) That raised fond memories of playing "The Bard's Tale" on a C64 ...

That's a LOT of memory

Posted Feb 5, 2018 11:13 UTC (Mon) by hmh (subscriber, #3838) [Link]

OTOH, it is just about enough *address space*, especially if we have to keep playing ASLR obfuscation games everywhere.

It is not the RAM, it is where you place it ;-)

That's a LOT of memory

Posted Feb 5, 2018 12:42 UTC (Mon) by cesarb (subscriber, #6266) [Link]

What matters is not the new limit, it's the old limit. If the previous limit was 48-bit physical addresses (from https://www.kernel.org/doc/Documentation/arm64/memory.txt), you need this change if you have anything above 256TB.

That's a LOT of memory

Posted Feb 5, 2018 14:26 UTC (Mon) by Paf (subscriber, #91811) [Link] (1 responses)

Supercomputer makers like really large address spaces, it simplifies the addressing of off-node memory if you’ve got enough space (address bits) for it... and they’re building machines with that much memory now or in the next few years.

That's a LOT of memory

Posted Feb 6, 2018 0:14 UTC (Tue) by mtanski (subscriber, #56423) [Link]

So do developers. It makes their memory size bound apps scale.


Copyright © 2018, 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