KernelNewbies:

Linux 4.13 has been released on Sun, 3 Sep 2017.

Summary: This release adds support in Ext4 for very large number of directory entries, support in Ext4 for extended attributes up to 64k, improvements in asynchronous I/O, improved error handling in background writes, improved error handling in the block layer, kernel TLS acceleration, and many other improvements.

1. Prominent features

1.1. Asynchronous I/O improvements

The asynchronous I/O implementation in Linux has some deficiencies, one of them is that it unexpectedly blocks in some situations. This release adds a way for asynchronous I/O to return errors instead of blocking.

Recommended LWN article: Toward non-blocking asynchronous I/O

Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

1.2. Ext4 support for a larger number of directory entries

This release adds "largedir", which allows ext4 directories to support over 2 billion directory entries (assuming ~64 byte file names; in practice, users will run into practical performance limits first). This feature adds a "incompatible feature" flag.

Code: commit

1.3. Ext4 support for bigger extended attribute values

This release adds support for extended attribute values up to 64k. It also implements a deduplication feature so that if multiple files have the same xattr value (for example, Windows ACL's stored by Samba), only one copy will be stored on disk for encoding and caching efficiency. This feature adds a "incompatible feature" flag.

Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

1.4. Kernel TLS acceleration

As a way to microoptimize TLS traffic, Facebook created an in-kernel TLS acceleration that slightly accelerates the performance of protocols such as https. Only symmetric crypto is done in the kernel, keys are passed by userspace after the handshake is complete.

Recommended LWN article: TLS in the kernel

Code: commit, commit

1.5. Improved block layer and background writes error handling

Error handling in some parts of the Linux I/O stack is not good as it could be. For example, when the background write process fails, only the first task to call fsync will see the error and any subsequent task calling fsync on a file will get back 0 (unless another writeback error occurs in the interim). This release adds a new way to handle the errors during background writes, making possible to reliable report errors on fsync. This release also adds an improved error handling in the block layer so that upper parts of the storage stack may get a more detailed view of I/O problems and react accordingly.

Recommended LWN Article: Improved block-layer error handling

Code: writeback error handling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit; block layer: commit, commit

1.6. CIFS defaults to SMB3.0

Due to recent publicity about security vulnerabilities in the much older CIFS dialect, move the default dialect to the widely accepted (and quite secure) SMB3.0 dialect from the old default of the CIFS dialect. Both Microsoft and CERT now strongly recommend not using the older CIFS dialect (SMB Security Best Practices "recommends disabling SMBv1"). SMB3 is both secure and widely available: in Windows 8 and later, Samba and Macs. Users can still choose to explicitly mount with the less secure dialect (for old servers) by choosing "vers=1.0" on the cifs mount

Code: commit

2. Core (various)

3. File systems

4. Memory management

5. Block layer

6. Tracing and perf tool

7. Virtualization

8. Cryptography

9. Security

10. Networking

11. Architectures

12. Drivers

12.1. Graphics

12.2. Storage

12.3. Drivers in the Staging area

12.4. Networking

12.5. Audio

12.6. Tablets, touch screens, keyboards, mouses

12.7. TV tuners, webcams, video capturers

12.8. Universal Serial Bus

12.9. Serial Peripheral Interface (SPI)

12.10. Watchdog

12.11. Serial

12.12. ACPI, EFI, cpufreq, thermal, Power Management

12.13. Real Time Clock (RTC)

12.14. Voltage, current regulators, power capping, power supply

12.15. Pin Controllers (pinctrl)

12.16. Multi Media Card (MMC)

12.17. Memory Technology Devices (MTD)

12.18. Industrial I/O (iio)

12.19. Multi Function Devices (MFD)

12.20. Inter-Integrated Circuit (I2C)

12.21. Hardware monitoring (hwmon)

12.22. General Purpose I/O (gpio)

12.23. Leds

12.24. DMA engines

12.25. Cryptography hardware acceleration

12.26. PCI

12.27. Non-Transparent Bridge (NTB)

12.28. Clock

12.29. Thunderbolt

12.30. Various

13. List of merges

14. Other news sites

KernelNewbies: Linux_4.13 (last edited 2017-12-30 01:29:51 by localhost)