Language Selection

English French German Italian Portuguese Spanish

Features Merged Into Linux 5.8 Tree

Filed under
Linux
  • Linux 5.8 Flipping On ERASE/Discard/TRIM For All MMC Hosts

    The MMC changes for new kernel cycles don't tend to be particularly noteworthy but it's a different story with the new Linux 5.8 kernel cycle.

    With Linux 5.8, erase/discard/trim support is being enabled now for all (e)MMC/SD hosts. The Linux kernel has long supported this discard/trim support for MMC/SD but until now it's been opt-in by the host drivers. But thanks to all of the host driver work and MMC core improvements over the past number of kernel cycles, the developers are content enough with the overall state of the support that they are no longer making it opt-in but will make it supported on all hosts. Of course, the card in question still needs to support these commands for it to be supported, but at least the host capability checks are now removed from MMC core.

  • Linux's Pstore Picking Up A Block Device Backend For Storing Oops & Panic Messages

    Linux's pstore "persistent storage" code is seeing a number of improvements for the Linux 5.8 kernel.

    Pstore is the Linux interface to persistent storage for archiving a limited amount of data across reboots, such as for archiving kernel oops or panic messages so they can be easily analyzed following a reboot from such a fatal problem.

  • AMD SPI Driver Sent In For Linux 5.8

    Adding to the multiple new AMD drivers coming with Linux 5.8 is their new SPI controller driver.

    The AMD SPI controller driver (spi-amd) was mailed out in April and for supporting the SPI controller within newer AMD SoCs. This 300+ lines of code driver was previously outlined in this earlier article.

  • AMD Energy Driver Sent In For Linux 5.8 Along With Driver For Industrial/Military SBCs

    The hardware monitoring "HWMON" subsystem updates were sent in today for the newly-opened Linux 5.8 merge window.

    On the hardware monitoring front this cycle the updates include:

    - The new AMD Energy driver for exposing the energy sensors on Zen/Zen2 CPUs. From my own testing so far this new driver is working out quite well albeit long overdue.

"Replacing Intel ME Space With Initrd"

  • Linux 5.8 Adds initrdmem= Option For Cases Such As Replacing Intel ME Space With Initrd

    One of the use-cases for this new "initrdmem" option in Linux 5.8 can be for storing an initial ramdisk (initrd) on a motherboard flash chip in the space available after stripping out Intel's Management Engine (ME) code.

    The initrdmem= boot option can be used for specifying a physical address and size for loading an initrd embedded in memory. This new option was sent in as part of the x86/boot changes for the now-open Linux 5.8 merge window.

Linux 5.8 Graphics Updates and Btrfs Improvements

  • Linux 5.8 Graphics Updates Sent In With AMDGPU TMZ Support, P2P Buffers

    The DRM highlights for Linux 5.8 amount to what we have already covered including ironing out Tiger Lake features like SAGV, per-engine data via sysfs, Icelake gamma hardware readout, P2P buffer/DMA support between GPUs, AMDGPU TMZ for encrypted vRAM, AMDGPU power-management / clock-gating improvements, GFX10 / Navi soft recovery, better handling on Radeon GPUs of critical thermal faults, NVIDIA format modifier support for Nouveau, run-time power management for the Lima driver, cursor support enabled by default for VKMS, and various other improvements to the smaller drivers.

  • Btrfs Sees A Number Of Improvements With Linux 5.8

    SUSE's David Sterba was quite punctual in getting all of the Btrfs file-system updates submitted quickly for the newly-opened Linux 5.8 kernel merge window.

New AMD Graphics Card is Listed in Latest Linux Update

  • New AMD Graphics Card is Listed in Latest Linux Update

    AMD has certainly been talking about it for quite some time, as of yet, however, we have seen very little concrete news surrounding ‘Big Navi’. For those of you unfamiliar with the term, ‘Big Navi’ will essentially represent Team Reds attempt at matching Nvidia’s top-end GPU performance, and, as such, you can clearly see why there is such a lot of community interest behind it.

    Following a new upcoming update to Linux, however, a yet unknown AMD GPU has been listed, and, of course, the speculation is already suggesting that this may be one of the first confirmed examples of ‘Big Navi’ being out in the wild.

AMD Sienna Cichlid spotted in Linux Kernel patches, Big Navi?

  • AMD Sienna Cichlid spotted in Linux Kernel patches, Big Navi?

    New Linux kernel patches show mention of AMD "Sienna Cichlid" GPU, which could be the "Big Navi" GPU. And I mean, hey it's got to be released at some point in time, Q3 seems pretty valid.

    The codename is pretty unusual though. The patches indicate Sienna Cichlid is a Navi-based GPU with new VCN 3.0 capabilities for video encoding and DCN3 on the display front and a variety of other alterations compared to the existing Navi support, as Phoronix spotted:

    It's quite possible Sienna Cichlid is the "big Navi" / RDNA2 GPU. AMD developers have talked before of using alternative codenames when volleying patches early for their open-source Linux driver stack as to not reveal the product/marketing codenames, which could be the case here. This is the first time we are hearing of Sienna Cichlid or seeing any references on the web of it related to AMD. Given the timing of these patches, the AMD Sienna Cichlid won't be mainlined until the Linux 5.9 merge window opening in August and then releasing in stable around October. That timeframe at least does point to Sienna Cichlid likely being the "RDNA 2" graphics card launch coming later in the calendar year.

A Number Of Intel/AMD x86 Updates Hit Linux 5.8

  • A Number Of Intel/AMD x86 Updates Hit Linux 5.8

    A number of x86 (x86_64) pull requests have been sent in for the in-development Linux 5.8 kernel.

    Here are the latest pull requests on the Intel/AMD x86 CPU front. The x86/cpu changes include:

    - The existing x86 family/model macros have now been extended to also handle the CPU stepping. This is being done due to Intel increasingly using different CPU steppings between generations and in some cases the stepping being significant differences when it comes to hardware mitigations and handling of different errata. With X86_MATCH_VENDOR_FAM_MODEL_STEPPINGS_FEATURE it's now easier for matching against particular CPU steppings.

Linux 5.8 Sees Many Power Management Updates

  • Linux 5.8 Sees Many Power Management Updates, Including Another Intel P-State Change

    Linux power management / ACPI maintainer Rafael Wysocki of Intel has sent in the usual big batch of PM/ACPI changes for the next version of the kernel, Linux 5.8.

    Changes on the power management front for the Linux 5.8 kernel include:

    - The Intel P-State driver will now start in passive mode by default for systems without Hardware P-States (HWP). This has been expected and follows other recent P-State work, including the use of the schedutil governor by default.

More Linux 5.8 Features: DAX, ARM and RNG

  • Improved DAX Support Lands In Linux 5.8 - Initially Benefiting XFS + EXT4

    The improved DAX code led by Intel has landed in the Linux 5.8 kernel with EXT4 and XFS being the initial file-systems to make use of this improved direct access mode.

    DAX is the direct access of files backed by persistent memory (such as Intel Optane DC Persistent Memory) without needing to be copied via the page cache. In avoiding the page cache with the DAX mode, it means avoiding an extra copy for reads/writes to the storage device and allows mapping the storage device directly (and efficiently) into user-space.

    This improved DAX code led by Intel allows for the direct access mode to be enabled on a per-file/directory (inode) basis rather than just being flipped on/off for the entire file-system. EXT4 and XFS with Linux 5.8 are making use of the new DAX code with this kernel cycle. Via statx() user-space can query to find out the direct access state of a particular file.

  • Linux 5.8 Tightens ARM 64-Bit Security With BTI, Shadow Call Stack Support

    The 64-bit ARM (ARM64 / AArch64) architecture changes have already landed into the progressing Linux 5.8 codebase.

    When it comes to modern Arm architectural changes for Linux 5.8, this cycle it primarily revolves around two security features now being supported: Branch Target Identification and Shadow Call Stack.

  • Jitter RNG Improvements, Arm CryptoCell CCTRNG Driver, AMD PSP SEV-ES For Linux 5.8

    The usual assortment of cryptography updates have landed within Linux 5.8.

    The crypto updates for this summer 2020 kernel update include:

    - The Jitter RNG has beem updated for SP800-90B compliance. This comes after a half-year of testing the SP800-90B support in user-space. SP800-90B is the NIST specification over entropy sources for random bit generation.

Linux 5.8 Supporting Intel TPAUSE Power-Optimized Delays

  • Linux 5.8 Supporting Intel TPAUSE Power-Optimized Delays, TSC Fix When Overclocking

    TPAUSE is the new Intel instruction for supporting lightweight power/performance optimized and improved power/performance states for sleeping until the timestamp counter (TSC) has reached a desired value. This new instruction with Intel's Tremont architecture will now be used by Linux 5.8+ on supported CPUs for an optimized power state while waiting on a delay event.

    This Timed Pause (TPAUSE) instruction was outlined in more detail last month for making use of it where supported for more power efficient delays. That code outlined there has now been sent in for Linux 5.8 as part of the x86/timers update.

    Intel low-power Tremont-based systems with the TPAUSE instruction initially include Lakefield mobile processors and Snow Ridge server/network processors.

AMD Zen/Zen2 RAPL Support Merged In Linux 5.8

  • AMD Zen/Zen2 RAPL Support Merged In Linux 5.8

    Complementing the new AMD Energy Driver in the hwmon subsystem for Linux 5.8 to provide per-socket/core reporting, the Linux perf subsystem in this new kernel version has run-time average power limiting (RAPL) framework integration for AMD Zen/Zen2 CPUs.

    This Zen RAPL integration is what a Google engineer posted last month for integrating in the current-gen AMD processor power data into the RAPL framework, including exposing this information via the PowerCap sysfs interface and perf tool.

Linux 5.8 To Allow Swapping Fn / Ctrl Keys On Apple Keyboards

  • Linux 5.8 To Allow Swapping Fn / Ctrl Keys On Apple Keyboards

    While there have been out-of-tree Linux patches offering this support already, with the in-development Linux 5.8 kernel comes a mainline solution for allowing the Fn and left Control keys to be swapped on Apple keyboards.

    In the name of "people who want to keep PC keyboard muscle memory", the Apple HID driver in Linux 5.8 has a new option to allow swapping the Fn and left Control keys. This works for all MacBook computers as well as external Apple wired/wireless keyboards.

More Scheduler Optimizations Land In Linux 5.8

  • More Scheduler Optimizations Land In Linux 5.8

    As part of the many areas of the kernel managed by Ingo Molnar, on Tuesday he submitted the pull request with all of the scheduler code updates for Linux 5.8.

    Like with most kernel cycles, much of the Linux 5.8 scheduler work was focused on optimizations. This cycle there is optimizations around task wakeup CPU selection logic for ideally improving scalability and reducing wakeup latency spikes.

More in Linux 5.8

  • Linux 5.8 Networking Changes Include Introducing Cable Testing Infrastructure

    David Miller on Tuesday sent in all of the networking subsystem updates for the Linux 5.8 kernel and there is a lot in store.

    Among the many networking changes as usual are the following new items for Linux 5.8:

    - A network cable test infrastructure has been added to the kernel and initially supported by the Marvell 1G PHY driver. This is intended for helping to figure out if a cable may be shorted, broken, not plugged in on the opposing end, or similar issues. This diagnostics support requires PHY support with some even being able to estimate how far along a cable fault may be on the wire. With Linux 5.8 this necessary infrastructure is in place but for now just the Marvell PHY driver is supported. Infrastructure is added to Ethtool and phylib for initiating such tests.

  • Intel Atom Camera Driver Resurrected In Linux 5.8 - Benefits A Lot Of Devices

    The Linux 5.8 media subsystem changes restore a previously dropped driver for supporting the cameras found on multiple generations of Intel Atom devices.

    The "atomisp" driver is a big one at more than 168k lines of code and is for supporting the Intel ISP2 camera and MIPI sensors on multiple generations of Intel Atom laptops/tablets/2-in-1 type devices. But back in 2018, the atomisp driver was removed from the Linux kernel.

Linux 5.8 Sound Changes Bring New AMD Renoir ACP Driver

EXT4 Gets A Nice Batch Of Fixes For Linux 5.8

  • EXT4 Gets A Nice Batch Of Fixes For Linux 5.8

    Ted Ts'o sent in the EXT4 file-system changes on Thursday for Linux 5.8 as the summer 2020 kernel release.

    EXT4 material for this pull request is focused on bug fixes and code cleaning. There is a fix for performance problems within the dioread_nolock code, a mballoc problem has been fixed for smaller file-systems running out of blocks, multiple race issues have been resolved, and other fixes. There is also clean-ups to EXT4's fiemap handling, multiple block allocator, and other improvements.

Linux 5.8 Has The Bits Needed To Begin Booting POWER10 Processor

  • Linux 5.8 Has The Bits Needed To Begin Booting POWER10 Processors

    POWER10 is the forthcoming IBM + OpenPOWER processor expected to be shipping in 2021 and manufactured on a 7nm process and offer big improvements over the existing POWER9 microarchitecture.

    There has been a lot of POWER10 open-source enablement already happening from the Linux kernel to code compilers and other key components. Now with the Linux 5.8 kernel is enough code to have initial support for booting on POWER10 hardware. Granted, outside of IBM / OpenPOWER and key partners, it will still be some months (and more kernel releases down the road) before seeing the hardware and thus more time still to get the support squared away -- hopefully in time for the the spring 2021 Linux distributions.

PCI Changes and SMB3 Updates in Linux 5.8

  • PCI Changes For Linux 5.8 Bring Power Savings, AMD Workarounds/Whitelisting

    Linux 5.8 has merged all of the PCI/PCIe subsystem updates and there are a number of notable changes.

    PCI highlights for Linux 5.8 include:

    - As previously reported, the possibility of "significant" power savings for systems with PCI Express to PCI or PCI-X bridges. Previously Active State Power Management (ASPM) wasn't being enabled for such bridges for unknown reasons. But in enabling it can yield big power advantages for server platforms and more having the PCIe to PCI/PCI-X bridges.

  • SMB3 Updates For Linux 5.8 Offer Better Performance For Large I/O

    The SMB3/CIFS updates for the Linux 5.8 kernel from the Samba camp can offer better performance.

    After Linux 5.7 brought support for setting up a swap file over a network with SMB3, the Linux 5.8 SMB3 changes are interesting for performance reasons.

    Steve French noted in the SMB3 pull request the change summary as , "Includes big performance improvement for large i/o when using multichannel, also includes DFS fixes."

New Arm SoCs Supported By Linux 5.8, Restructuring To Fit...

  • New Arm SoCs Supported By Linux 5.8, Restructuring To Fit Android Kernel Improvements

    Following last week's 64-bit ARM architecture updates for Linux 5.8, the Arm SoC/platform changes have now been submitted.

    On the Arm device front for the in-development Linux 5.8 some of the highlights include:

    - New platform support for the Realtek RTD1195 as a Arm Cortex A7 based solution. DeviceTree additions also enable the RTD1395 and RTD1619 SoCs too, used by Android devices and NAS hardware as well.

Linux 5.8 Brings Modernization Work To Procfs

  • Linux 5.8 Brings Modernization Work To Procfs

    Adding to the Linux 5.8 changes is the landing of modernization work for the proc special-purpose file-system.

    With Linux 5.8, proc is seeing support for being able to support multiple private instances and various other enhancements to this key Linux infrastructure.

RISC-V For Linux 5.8 Finishes Bringing Up The Kendryte K210...

  • RISC-V For Linux 5.8 Finishes Bringing Up The Kendryte K210, Adds KGDB Support

    Back for Linux 5.7 there was initial code landing for the Kendryte K210 SoC while now for Linux 5.8 this RISC-V SoC actually has operational support. The Kendryte K210 is a dual-core RISC-V 64-bit SoC rated for 0.8 TFLOPS and designed for neural network workloads with having dedicated image recognition hardware. While not too fast, the reported power consumption is said to be less than one Watt for this TSMC 28nm manufactured SoC. The reported base clock is 400MHz but is said to be overclock-friendly. With Linux 5.8 there were more DeviceTree bits needed for the K210 and other changes, but now at least all of the necessary code should be in place.

Linux 5.8 Adding NTB Support For Upcoming Ice Lake Xeon CPUs

  • Linux 5.8 Adding NTB Support For Upcoming Ice Lake Xeon CPUs

    Normally the NTB patches for new kernel cycles aren't particularly noteworthy but this time around for Linux 5.8 is Icelake support.

    The non-transparent bridge (NTB) support is for connecting separate memory systems of multiple computers to the same PCI Express fabric. With Linux 5.8, Intel NTB support with PCIe Gen4 is added for Ice Lake Xeon CPUs.

Linux 5.8 Will Light Up The Adreno 405 / 640 / 650 GPUs...

  • Linux 5.8 Will Light Up The Adreno 405 / 640 / 650 GPUs On Open-Source

    Last week saw the main Direct Rendering Manager driver updates for Linux 5.8 with a lot on the open-source graphics front while a secondary pull request was submitted today with the Freedreno "MSM" DRM driver changes for this open-source Qualcomm Adreno driver implementation.

    Most significant with the open-source MSM driver updates for Linux 5.8 are the Adreno 405, 640, and 650 GPUs are now supported. The Adreno 405 is quite old from the Snapdragon 415/615/616/617 days, but the Adreno 640/650 are at least still more relevant in being current-generation hardware.

    The Adreno 640 provides the graphics for the Snapdragon 855/855+ and the Adreno 650 is within the Snapdragon 865. The Snapdragon 855 is used by the Samsung Galaxy S10 series, OnePlus 7, Google Pixel 4/XL, ASUS ROG Phone 2, and countless others. The Snapdragon 865 is what powers the Samsung Galaxy S20 series, OnePlus 8, and many other modern devices.

USB Improvements Land In Linux 5.8 With Intel Additions, Non-x86

Staging/IIO Changes For Linux 5.8 Are The Most Boring...

  • Staging/IIO Changes For Linux 5.8 Are The Most Boring We Have Seen In A While

    With the staging/IIO subsystem changes for Linux 5.8 arguably most notable is what didn't make the cut this round.

    The staging/IIO changes for this 5.8 merge window is some of the lightest work we've seen in a number of cycles: no big code cleanups, no shiny new drivers, and no other new features like the previous exFAT staging driver.

Samsung Sends In Improvements To The exFAT File-System Driver...

  • Samsung Sends In Improvements To The exFAT File-System Driver For Linux 5.8

    The exFAT file-system driver is seeing more polishing with Linux 5.8 in the form of fixes and optimizations. There are a number of bug fixes for exFAT this round, code clean-ups, logging improvements, and optimizing of the exFAT entry cache functions. A new feature is boot region verification for exFAT. Boot region verification is part of the exFAT specification as a means of checksumming the boot sectors.

Char/Misc Additions For Linux 5.8 Headlined By Intel / Habana...

  • Char/Misc Additions For Linux 5.8 Headlined By Intel / Habana Labs Gaudi Support

    The char/misc pull request for Linux 5.8 is big at nearly one hundred thousand lines of new code.

    The char/misc pull sent in by Greg Kroah-Hartman on Sunday is already merged and includes:

    - Habana Labs Gaudi accelerator support, the AI training accelerator and complementing the company's Goya AI inference accelerator that is already backed by this mainline kernel driver. The Gaudi AI accelerator support has been a long time coming but is now all wired up with the open-source kernel driver in Linux 5.8. Habana Labs was recently acquired by Intel to bolster their AI efforts.

F2FS Improvements Sent In For Linux 5.8 With LZO-RLE

  • F2FS Improvements Sent In For Linux 5.8 With LZO-RLE, New Compression Knobs

    Jaegeuk Kim has sent in the Flash-Friendly File-System (F2FS) improvements for the Linux 5.8 kernel.

    The prominent new addition for F2FS in this next version of the Linux kernel is adding LZO-RLE to the available compression formats supported by this file-system. LZO Run-Length Encoding aims to offer similar compression ratios to LZO but with higher performance after the LZO-RLE implementation was contributed to the kernel last year by Arm.

    F2FS LZO-RLE support has been in the works for several months and comes after F2FS added Zstd support and other compression methods to this flash focused file-system.

Linux 5.8 Brings Boost Support To CPPC CPUFreq Driver

  • Linux 5.8 Brings Boost Support To CPPC CPUFreq Driver

    The ACPI-defined Collaborative Processor Performance Control (CPPC) CPUFreq driver will support "boosting" to the optimal performance level with the Linux 5.8 kernel.

    Collaborative Processor Performance Control ACPI specification is a standardized mechanism for describing abstract performance scales and a means of being able to request higher/lower performance levels and measuring per-CPU performance. The Linux kernel for a while has offered the ACPI CPPC CPUFreq driver for making use of this standard on supported systems -- primarily to date being Arm systems. AMD last year proposed their own CPPC driver for Zen 2 Linux systems but there has been no activity on that front since then. In any case, Huawei has now plumbed "boost" support into the generic CPPC CPUFreq driver.

Linux 5.8 To Support Emulating MLC NAND Flash Memory As SLC

  • Linux 5.8 To Support Emulating MLC NAND Flash Memory As SLC

    The Linux MTD subsystem that abstracts raw flash devices will allow emulating MLC NANDs as SLC in an attempt to boost reliability.

    Starting with the Linux 5.8 kernel, raw multi-level cell (MLC) flash memory can be optionally emulated as single level cell (SLC) memory. This SLC emulated mode was added by embedded consulting firm Bootlin. In this emulated mode for MLC NANDs, only the lower page of each pair is programmed. This emulated mode is being offered for raw flash memory exposed on Linux as it can be "made a bit more reliable" under the SLC emulated mode albeit with reduced capacity.

Linux 5.8 Supports Nested AMD Live Migration With KVM

  • Linux 5.8 Supports Nested AMD Live Migration With KVM

    Sent in last week to the Linux 5.8 mainline kernel were all the Kernel-based Virtual Machine (KVM) updates.

    Arguably most notable to the KVM changes for Linux 5.8 is nested AMD live migration support for properly dealing with the live migration of KVM VMs running within a virtual machine. Red Hat's Paolo Bonzini who oversees the KVM code has been working on this migration support for the AMD nSVM code and is now in place for the 5.8 kernel.

Linux 5.8 Lands The Kernel Concurrency Sanitizer To Spot Race...

  • Linux 5.8 Lands The Kernel Concurrency Sanitizer To Spot Race Conditions

    Merged overnight into the Linux 5.8 code-base is KCSAN, the Kernel Concurrency Sanitizer that is a dynamic race detector for spotting flaws in the kernel code.

    The Linux Kernel Concurrency Sanitizer with this newly-added kernel code (4k+ lines of code) paired with compiler-based instrumentation in supported compilers is able to provide detection of race conditions happening within the kernel.

    Even before being mainlined to the kernel, KCSAN has already been successful in spotting legitimate kernel bugs and now with it being mainlined should see more usage in helping uncover other code flaws dealing with multiple threads/concurrency.

Linux 5.8 Lands The Kernel Concurrency Sanitizer To Spot Race...

  • Linux 5.8 Lands The Kernel Concurrency Sanitizer To Spot Race Conditions

    Merged overnight into the Linux 5.8 code-base is KCSAN, the Kernel Concurrency Sanitizer that is a dynamic race detector for spotting flaws in the kernel code.

    The Linux Kernel Concurrency Sanitizer with this newly-added kernel code (4k+ lines of code) paired with compiler-based instrumentation in supported compilers is able to provide detection of race conditions happening within the kernel.

    Even before being mainlined to the kernel, KCSAN has already been successful in spotting legitimate kernel bugs and now with it being mainlined should see more usage in helping uncover other code flaws dealing with multiple threads/concurrency.

Linux 5.8: AMD, Loongson, and Xen

  • AMD MCE Improvements, Renoir Temperature + EDAC Support Sent In For Linux 5.8

    Linux kernel developer Thomas Gleixner sent in the RAS/core changes on Friday night for the Linux 5.8 kernel merge window that is wrapping up this weekend.

    Notable to this pull request is including the new AMD Family 17h Model 60h PCI IDs in the amd_nb code. And in turn this pull request ends up adding the 17h 60h support to the hwmon k10temp driver. The 60h series is for the recently launched AMD Ryzen 4000 "Renoir" processors. So now finally with Linux 5.8 is the ability to offer working AMD Renoir CPU temperature monitoring.

  • Loongson 3 CPUs Beginning To Work With Linux KVM Virtualization

    Recently there has been an uptick in Linux upstream support activity around Loongson CPUs, the Chinese-made MIPS64 CPUs. With Linux 5.8, the newest Loongson 3 CPU models can even begin supporting KVM-based virtualization.

    Merged already were the main KVM changes for Linux 5.8 while coming in as a secondary Kernel-based Virtual Machine (KVM) pull request were some additional changes, just before this weekend's code freeze and 5.8-rc1 release.

  • Linux 5.8 To Allow For Faster Xen 9pfs Performance

    The Linux kernel's 9P protocol support with the in-development Linux 5.8 kernel will see the potential for faster performance with its Xen transport code.

    The Xen transport for 9pfs provides simple network file-system/transfer support between Xen domains. The sole change for the kernel's 9P code in Linux 5.8 is one for the Xen transport code to increase the size of the XEN_9PFS_RING_ORDER.

Linux 5.8 Lands A General Notification Queue

  • Linux 5.8 Lands A General Notification Queue

    Merged this weekend ahead of Linux 5.8-rc1 is the long-standing work on introducing a general notification queue for the kernel. The general notification queue was pushed back last year from merging but now the initial code is in shape for Linux 5.8.

    The general notification queue was added for Linux 5.8 as well as an event source for keys/keyrings such that notifications will be sent to user-space on linking/unlinking keys or changing their attributes. One of the immediate user-space clients of this notification system can be GNOME Online Accounts for better key handling rather than having to keep polling for changes.

Linux 5.8 Kernel Features Include New Intel/AMD Capabilities

  • Linux 5.8 Kernel Features Include New Intel/AMD Capabilities, Security Improvements, Optimizations

    Linus Torvalds is expected to release Linux 5.8-rc1 following the two week long Linux 5.8 kernel merge window. Here is our overview of all the big changes coming with this next version of the Linux kernel.

    Linux 5.8 won't be out as stable until early to mid August but there is a lot coming for this summer 2020 kernel upgrade from many processor improvements, a fair amount of new hardware enablement, a variety of security enhancements, and other new kernel infrastructure like the general notification queue, cable testing infrastructure in the network code, and continued advancements to the open-source Intel/Radeon graphics drivers. Given the release timeline for Linux 5.8, this will likely be the kernel version shipped by the likes of Ubuntu 20.10 and Fedora 33 this autumn. Here are the highlights for Linux 5.8 based on my original reporting.

EXT4 Per-Inode DAX Support Sent In As A Last Minute Linux 5.8

  • EXT4 Per-Inode DAX Support Sent In As A Last Minute Linux 5.8 Addition

    Hours ahead of the expected Linux 5.8-rc1 release that also marks the merge window closure of new features for this next kernel version, a secondary EXT4 file-system set of changes were just mailed in.

    Ted Ts'o sent in this last minute pull request as first he was waiting on the necessary DAX infrastructure bits to land as part of the XFS pull request and wrapping up some regression/bug fixes. The main feature of this pull is enabling per-inode DAX support for EXT4, similar to the XFS functionality that came this window as well.

Eight Features Not In Linux 5.8...

  • Eight Features Not In Linux 5.8 From The DirectX Kernel Driver To FSGSBASE & DAMON

    FSGSBASE - The long-standing FSGSBASE patches that can offer some performance advantages for some workloads were recently revised as recently as v13 at the end of May. But it didn't land for Linux 5.8 sadly but perhaps in 5.9 we'll finally see this ability come to mainline for this instruction set extension around since Intel Ivy Bridge days.

    AMD Radeon "Navi 2" / Sienna Cichlid - Since the start of June AMD has been publishing "Sienna Cichlid" GPU enablement patches that appear to definitely be for Navi 2 graphics cards launching later this year. The patches were sadly a few weeks too late for being reviewed and queued in DRM-Next for Linux 5.8. In turn this work will come in Linux 5.9. Unfortunately though this means the patches won't be in a stable mainline kernel until October rather than with 5.8's debut in August. We'll see when Navi 2 graphics cards end up launching but there is good chances we could see Navi 2 debut before October and thus no mainline stable kernel release with that support. If the patches came earlier for 5.8, it would also allow for out-of-the-box support in the likes of Ubuntu 20.10.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

Git 2.35.0

Git 2.35 Release Notes
======================

Updates since Git 2.34
----------------------

Backward compatibility warts

 * "_" is now treated as any other URL-valid characters in an URL when
   matching the per-URL configuration variable names.

 * The color palette used by "git grep" has been updated to match that
   of GNU grep.


Note to those who build from the source

 * You may need to define NO_UNCOMPRESS2 Makefile macro if you build
   with zlib older than 1.2.9.

 * If your compiler cannot grok C99, the build will fail.  See the
   instruction at the beginning of git-compat-util.h if this happens
   to you.


UI, Workflows & Features

 * "git status --porcelain=v2" now show the number of stash entries
   with --show-stash like the normal output does.

 * "git stash" learned the "--staged" option to stash away what has
   been added to the index (and nothing else).

 * "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for
   the newly created branch if "git init" is run.

 * Various operating modes of "git reset" have been made to work
   better with the sparse index.

 * "git submodule deinit" for a submodule whose .git metadata
   directory is embedded in its working tree refused to work, until
   the submodule gets converted to use the "absorbed" form where the
   metadata directory is stored in superproject, and a gitfile at the
   top-level of the working tree of the submodule points at it.  The
   command is taught to convert such submodules to the absorbed form
   as needed.

 * The completion script (in contrib/) learns that the "--date"
   option of commands from the "git log" family takes "human" and
   "auto" as valid values.

 * "Zealous diff3" style of merge conflict presentation has been added.

 * The "git log --format=%(describe)" placeholder has been extended to
   allow passing selected command-line options to the underlying "git
   describe" command.

 * "default" and "reset" have been added to our color palette.

 * The cryptographic signing using ssh keys can specify literal keys
   for keytypes whose name do not begin with the "ssh-" prefix by
   using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256").

 * "git fetch" without the "--update-head-ok" option ought to protect
   a checked out branch from getting updated, to prevent the working
   tree that checks it out to go out of sync.  The code was written
   before the use of "git worktree" got widespread, and only checked
   the branch that was checked out in the current worktree, which has
   been updated.

 * "git name-rev" has been tweaked to give output that is shorter and
   easier to understand.

 * "git apply" has been taught to ignore a message without a patch
   with the "--allow-empty" option.  It also learned to honor the
   "--quiet" option given from the command line.

 * The "init" and "set" subcommands in "git sparse-checkout" have been
   unified for a better user experience and performance.

 * Many git commands that deal with working tree files try to remove a
   directory that becomes empty (i.e. "git switch" from a branch that
   has the directory to another branch that does not would attempt
   remove all files in the directory and the directory itself).  This
   drops users into an unfamiliar situation if the command was run in
   a subdirectory that becomes subject to removal due to the command.
   The commands have been taught to keep an empty directory if it is
   the directory they were started in to avoid surprising users.

 * "git am" learns "--empty=(stop|drop|keep)" option to tweak what is
   done to a piece of e-mail without a patch in it.

 * The default merge message prepared by "git merge" records the name
   of the current branch; the name can be overridden with a new option
   to allow users to pretend a merge is made on a different branch.

 * The way "git p4" shows file sizes in its output has been updated to
   use human-readable units.

 * "git -c branch.autosetupmerge=inherit branch new old" makes "new"
   to have the same upstream as the "old" branch, instead of marking
   "old" itself as its upstream.


Performance, Internal Implementation, Development Support etc.

 * The use of errno as a means to carry the nature of error in the ref
   API implementation has been reworked and reduced.

 * Teach and encourage first-time contributors to this project to
   state the base commit when they submit their topic.

 * The command line completion for "git send-email" options have been
   tweaked to make it easier to keep it in sync with the command itself.

 * Ensure that the sparseness of the in-core index matches the
   index.sparse configuration specified by the repository immediately
   after the on-disk index file is read.

 * Code clean-up to eventually allow information on remotes defined
   for an arbitrary repository to be read.

 * Build optimization.

 * Tighten code for testing pack-bitmap.

 * Weather balloon to break people with compilers that do not support
   C99.

 * The "reftable" backend for the refs API, without integrating into
   the refs subsystem, has been added.

 * More tests are marked as leak-free.

 * The test framework learns to list unsatisfied test prerequisites,
   and optionally error out when prerequisites that are expected to be
   satisfied are not.

 * The default setting for trace2 event nesting was too low to cause
   test failures, which is worked around by bumping it up in the test
   framework.

 * Drop support for TravisCI and update test workflows at GitHub.

 * Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
   mechanism to force "git" to use 'master' as the default name for
   the initial branch no longer need it; the use of the mechanism from
   them have been removed.

 * Allow running our tests while disabling fsync.

 * Document the parameters given to the reflog entry iterator callback
   functions.
   (merge e6e94f34b2 jc/reflog-iterator-callback-doc later to maint).

 * The test helper for refs subsystem learned to write bogus and/or
   nonexistent object name to refs to simulate error situations we
   want to test Git in.

 * "diff --histogram" optimization.

 * Weather balloon to find compilers that do not grok variable
   declaration in the for() loop.

 * diff and blame commands have been taught to work better with sparse
   index.

 * The chainlint test script linter in the test suite has been updated.

 * The DEVELOPER=yes build uses -std=gnu99 now.

 * "git format-patch" uses a single rev_info instance and then exits.
   Mark the structure with UNLEAK() macro to squelch leak sanitizer.

 * New interface into the tmp-objdir API to help in-core use of the
   quarantine feature.

 * Broken &&-chains in the test scripts have been corrected.

 * The RCS keyword substitution in "git p4" used to be done assuming
   that the contents are UTF-8 text, which can trigger decoding
   errors.  We now treat the contents as a bytestring for robustness
   and correctness.

 * The conditions to choose different definitions of the FLEX_ARRAY
   macro for vendor compilers has been simplified to make it easier to
   maintain.

 * Correctness and performance update to "diff --color-moved" feature.

 * "git upload-pack" (the other side of "git fetch") used a 8kB buffer
   but most of its payload came on 64kB "packets".  The buffer size
   has been enlarged so that such a packet fits.

 * "git fetch" and "git pull" are now declared sparse-index clean.
   Also "git ls-files" learns the "--sparse" option to help debugging.

 * Similar message templates have been consolidated so that
   translators need to work on fewer number of messages.


Fixes since v2.34
-----------------

 * "git grep" looking in a blob that has non-UTF8 payload was
   completely broken when linked with certain versions of PCREv2
   library in the latest release.

 * Other code cleanup, docfix, build fix, etc.

 * "git pull" with any strategy when the other side is behind us
   should succeed as it is a no-op, but doesn't.

 * An earlier change in 2.34.0 caused JGit application (that abused
   GIT_EDITOR mechanism when invoking "git config") to get stuck with
   a SIGTTOU signal; it has been reverted.

 * An earlier change that broke .gitignore matching has been reverted.

 * Things like "git -c branch.sort=bogus branch new HEAD", i.e. the
   operation modes of the "git branch" command that do not need the
   sort key information, no longer errors out by seeing a bogus sort
   key.
   (merge 98e7ab6d42 jc/fix-ref-sorting-parse later to maint).

 * The compatibility implementation for unsetenv(3) were written to
   mimic ancient, non-POSIX, variant seen in an old glibc; it has been
   changed to return an integer to match the more modern era.
   (merge a38989bd5b jc/unsetenv-returns-an-int later to maint).

 * The clean/smudge conversion code path has been prepared to better
   work on platforms where ulong is narrower than size_t.
   (merge 596b5e77c9 mc/clean-smudge-with-llp64 later to maint).

 * Redact the path part of packfile URI that appears in the trace output.
   (merge 0ba558ffb1 if/redact-packfile-uri later to maint).

 * CI has been taught to catch some Unicode directional formatting
   sequence that can be used in certain mischief.
   (merge 0e7696c64d js/ci-no-directional-formatting later to maint).

 * The "--date=format:" gained a workaround for the lack of
   system support for a non-local timezone to handle "%s" placeholder.
   (merge 9b591b9403 jk/strbuf-addftime-seconds-since-epoch later to maint).

 * The "merge" subcommand of "git jump" (in contrib/) silently ignored
   pathspec and other parameters.
   (merge 67ba13e5a4 jk/jump-merge-with-pathspec later to maint).

 * The code to decode the length of packed object size has been
   corrected.
   (merge 34de5b8eac jt/pack-header-lshift-overflow later to maint).

 * The advice message given by "git pull" when the user hasn't made a
   choice between merge and rebase still said that the merge is the
   default, which no longer is the case.  This has been corrected.
   (merge 71076d0edd ah/advice-pull-has-no-preference-between-rebase-and-merge later to maint).

 * "git fetch", when received a bad packfile, can fail with SIGPIPE.
   This wasn't wrong per-se, but we now detect the situation and fail
   in a more predictable way.
   (merge 2a4aed42ec jk/fetch-pack-avoid-sigpipe-to-index-pack later to maint).

 * The function to cull a child process and determine the exit status
   had two separate code paths for normal callers and callers in a
   signal handler, and the latter did not yield correct value when the
   child has caught a signal.  The handling of the exit status has
   been unified for these two code paths.  An existing test with
   flakiness has also been corrected.
   (merge 5263e22cba jk/t7006-sigpipe-tests-fix later to maint).

 * When a non-existent program is given as the pager, we tried to
   reuse an uninitialized child_process structure and crashed, which
   has been fixed.
   (merge f917f57f40 em/missing-pager later to maint).

 * The single-key-input mode in "git add -p" had some code to handle
   keys that generate a sequence of input via ReadKey(), which did not
   handle end-of-file correctly, which has been fixed.
   (merge fc8a8126df cb/add-p-single-key-fix later to maint).

 * "git rebase -x" added an unnecessary 'exec' instructions before
   'noop', which has been corrected.
   (merge cc9dcdee61 en/rebase-x-fix later to maint).

 * When the "git push" command is killed while the receiving end is
   trying to report what happened to the ref update proposals, the
   latter used to die, due to SIGPIPE.  The code now ignores SIGPIPE
   to increase our chances to run the post-receive hook after it
   happens.
   (merge d34182b9e3 rj/receive-pack-avoid-sigpipe-during-status-reporting later to maint).

 * "git worktree add" showed "Preparing worktree" message to the
   standard output stream, but when it failed, the message from die()
   went to the standard error stream.  Depending on the order the
   stdio streams are flushed at the program end, this resulted in
   confusing output.  It has been corrected by sending all the chatty
   messages to the standard error stream.
   (merge b50252484f es/worktree-chatty-to-stderr later to maint).

 * Coding guideline document has been updated to clarify what goes to
   standard error in our system.
   (merge e258eb4800 es/doc-stdout-vs-stderr later to maint).

 * The sparse-index/sparse-checkout feature had a bug in its use of
   the matching code to determine which path is in or outside the
   sparse checkout patterns.
   (merge 8c5de0d265 ds/sparse-deep-pattern-checkout-fix later to maint).

 * "git rebase -x" by mistake started exporting the GIT_DIR and
   GIT_WORK_TREE environment variables when the command was rewritten
   in C, which has been corrected.
   (merge 434e0636db en/rebase-x-wo-git-dir-env later to maint).

 * When "git log" implicitly enabled the "decoration" processing
   without being explicitly asked with "--decorate" option, it failed
   to read and honor the settings given by the "--decorate-refs"
   option.

 * "git fetch --set-upstream" did not check if there is a current
   branch, leading to a segfault when it is run on a detached HEAD,
   which has been corrected.
   (merge 17baeaf82d ab/fetch-set-upstream-while-detached later to maint).

 * Among some code paths that ask an yes/no question, only one place
   gave a prompt that looked different from the others, which has been
   updated to match what the others create.
   (merge 0fc8ed154c km/help-prompt-fix later to maint).

 * "git log --invert-grep --author=" used to exclude commits
   written by the given author, but now "--invert-grep" only affects
   the matches made by the "--grep=" option.
   (merge 794c000267 rs/log-invert-grep-with-headers later to maint).

 * "git grep --perl-regexp" failed to match UTF-8 characters with
   wildcard when the pattern consists only of ASCII letters, which has
   been corrected.
   (merge 32e3e8bc55 rs/pcre2-utf later to maint).

 * Certain sparse-checkout patterns that are valid in non-cone mode
   led to segfault in cone mode, which has been corrected.

 * Use of certain "git rev-list" options with "git fast-export"
   created nonsense results (the worst two of which being "--reverse"
   and "--invert-grep --grep=").  The use of "--first-parent" is
   made to behave a bit more sensible than before.
   (merge 726a228dfb ws/fast-export-with-revision-options later to maint).

 * Perf tests were run with end-user's shell, but it has been
   corrected to use the shell specified by $TEST_SHELL_PATH.
   (merge 9ccab75608 ja/perf-use-specified-shell later to maint).

 * Fix dependency rules to generate hook-list.h header file.
   (merge d3fd1a6667 ab/makefile-hook-list-dependency-fix later to maint).

 * "git stash" by default triggers its "push" action, but its
   implementation also made "git stash -h" to show short help only for
   "git stash push", which has been corrected.
   (merge ca7990cea5 ab/do-not-limit-stash-help-to-push later to maint).

 * "git apply --3way" bypasses the attempt to do a three-way
   application in more cases to address the regression caused by the
   recent change to use direct application as a fallback.
   (merge 34d607032c jz/apply-3-corner-cases later to maint).

 * Fix performance-releated bug in "git subtree" (in contrib/).
   (merge 3ce8888fb4 jl/subtree-check-parents-argument-passing-fix later to maint).

 * Extend the guidance to choose the base commit to build your work
   on, and hint/nudge contributors to read others' changes.
   (merge fdfae830f8 jc/doc-submitting-patches-choice-of-base later to maint).

 * A corner case bug in the ort merge strategy has been corrected.
   (merge d30126c20d en/merge-ort-renorm-with-rename-delete-conflict-fix later to maint).

 * "git stash apply" forgot to attempt restoring untracked files when
   it failed to restore changes to tracked ones.
   (merge 71cade5a0b en/stash-df-fix later to maint).

 * Calling dynamically loaded functions on Windows has been corrected.
   (merge 4a9b204920 ma/windows-dynload-fix later to maint).

 * Some lockfile code called free() in signal-death code path, which
   has been corrected.
   (merge 58d4d7f1c5 ps/lockfile-cleanup-fix later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge 74db416c9c cw/protocol-v2-doc-fix later to maint).
   (merge f9b2b6684d ja/doc-cleanup later to maint).
   (merge 7d1b866778 jc/fix-first-object-walk later to maint).
   (merge 538ac74604 js/trace2-avoid-recursive-errors later to maint).
   (merge 152923b132 jk/t5319-midx-corruption-test-deflake later to maint).
   (merge 9081a421a6 ab/checkout-branch-info-leakfix later to maint).
   (merge 42c456ff81 rs/mergesort later to maint).
   (merge ad506e6780 tl/midx-docfix later to maint).
   (merge bf5b83fd8a hk/ci-checkwhitespace-commentfix later to maint).
   (merge 49f1eb3b34 jk/refs-g11-workaround later to maint).
   (merge 7d3fc7df70 jt/midx-doc-fix later to maint).
   (merge 7b089120d9 hn/create-reflog-simplify later to maint).
   (merge 9e12400da8 cb/mingw-gmtime-r later to maint).
   (merge 0bf0de6cc7 tb/pack-revindex-on-disk-cleanup later to maint).
   (merge 2c68f577fc ew/cbtree-remove-unused-and-broken-cb-unlink later to maint).
   (merge eafd6e7e55 ab/die-with-bug later to maint).
   (merge 91028f7659 jc/grep-patterntype-default-doc later to maint).
   (merge 47ca93d071 ds/repack-fixlets later to maint).
   (merge e6a9bc0c60 rs/t4202-invert-grep-test-fix later to maint).
   (merge deb5407a42 gh/gpg-doc-markup-fix later to maint).
   (merge 999bba3e0b rs/daemon-plug-leak later to maint).
   (merge 786eb1ba39 js/l10n-mention-ngettext-early-in-readme later to maint).
   (merge 2f12b31b74 ab/makefile-msgfmt-wo-stats later to maint).
   (merge 0517f591ca fs/gpg-unknown-key-test-fix later to maint).
   (merge 97d6fb5a1f ma/header-dup-cleanup later to maint).
Read more Also: Git 2.35 Released With "git stash --staged" mode, Other Developer Additions - Phoronix

FUD and Security Leftovers

  • Linux Servers at Risk of RCE Due to Critical CWP Bugs [Ed: It's not a Linux issue but a program that can run on top of it; FUD pattern?]
  • CWP bugs allow code execution as root on Linux servers, patch now [Ed: Microsoft boosters make a bug in CentOS Web Panel sound like it's an issue with Linux]

    Two security vulnerabilities that impact the Control Web Panel (CWP) software can be chained by unauthenticated attackers to gain remote code execution (RCE) as root on vulnerable Linux servers. CWP, previously known as CentOS Web Panel, is a free Linux control panel for managing dedicated web hosting servers and virtual private servers.

  • CISA Publishes Infographic on Layering Network Security Through Segmentation

    CISA has published an infographic to emphasize the importance of implementing network segmentation—a physical or virtual architectural approach that divides a network into multiple segments, each acting as its own subnetwork, to provide additional security and control that can help prevent or minimize the impact of a cyberattack.

  • LHS Episode #449: Insecurities Everywhere

    Hello and welcome to the 449th installment of Linux in the Ham Shack. In this short-topics episode, the hosts discuss results from the 2021 QSO parties, the FCC tech advisory council, the proliferation of Linux malware, SDR++, programming in Python and much more. Thank you for listening and have a fantastic week.

Today in Techrights

today's leftovers

  • The Apache Weekly News Round-up: week ending 21 January 2022

    We're wrapping up another great week with the following activities from the Apache community...

  • How the debuginfod project evolved in 2021

    Debuginfod is a web service for distributing debugging resources over HTTP. The project began in 2019 and has seen a lot of growth in 2021.

  • Am getting the hang of it…. [Ed: archbang-winter-2201-x86_64.iso has been released]

    With a bit of spare time on my hands between decorating and cooking, been slowly setting up dk tiling window manager. Did try lemonbar as a panel but I soon lost interest and went back to tint2, more the fact I am used to it more. One thing I have added is super + a which fires up rofi showing open windows, not only that it tells you which workspace window is on. Was trying out floating windows and just moved them to workspace 10 to test them out only they would not return to full screen. Found it very odd so tried them on 9 and they worked fine. So thought I would take a look at dkrc file and sure enough there is a line that sets windows, gaps and borders on workspace 10.

  • Brazilian telecoms giant accelerates innovation with SUSE | SUSE Communities

    “SUSE Rancher makes it easier for our IT staff to manage and scale a large container environment. As a result, we can spend less time on repetitive manual tasks and more time on value-added development.” Marcos Borges, Telco/DC Application Manager, Algar Telecom.

  • Linux Foundation launches Open Source Software Development, Linux, and Git certification [Ed: Paid-for LF spam by SJVN at ZDNet. 'Obligatory' articles for sponsors.]

    Want a good-paying programming job? By ZipRecruiter's count, the average annual pay for an open-source developer in the United States is $123,411. That's not bad. There's also a lot of demand for Linux and open-source pros. The Linux Foundation and edX, the leading massive open online course (MOOC) provider, reported in their 2021 Open Source Jobs Report that the pair found more demand for top open-source workers than ever.