Posts for: #linux-kernel

Ubuntu 24.04 LTS Aims to Include Linux 6.8 Kernel

Canonical has laid out their kernel plans for Ubuntu 24.04 LTS and they are being hopeful with tentative plans to ship the in-development Linux 6.8 kernel as their default kernel on this next long-term support Ubuntu desktop/server distribution. Linux 6.8 has a lot of great features and improvements in store from hardware support to new optimizations and more. Andrea Righi of Canonical announced the tentative plans for Linux 6.8 in Ubuntu 24.04. An experimental kernel build is already available via a PPA.

Source: Phoronix.

KVM Enhancements in Linux 6.8

Changes to KVM virtualization in the upcoming 6.8 version of the Linux kernel include many new features and improvements. These changes are set to enhance the support for confidential VMs and bring various enhancements for KVM on different architectures.

Some of notable changes in the Linux 6.8 KVM include:

  • Improved support for confidential VMs: With the introduction of the KVM_SET_MEMORY_ATTRIBUTES ioctl, user-space can now specify per-page attributes for guest memory. This feature is particularly useful for confidential and secure VMs that utilize technologies such as AMD SEV-SNP, TDX, and ARM pKVM.
  • Software-protected VMs on x86: The KVM on x86 architecture now supports “software-protected VMs,” which allows for testing new interfaces related to guest_memfd and page attributes.
  • Flush-by-ASID support: KVM now unconditionally advertises flush-by-ASID support for nSVM, enabling the latest versions of VMware Workstation to run smoothly on KVM.
  • Linear Address Masking (LAM) for KVM guests: Linux 6.8 introduces support for LAM in KVM guests, enhancing the performance and security of virtualized environments.
  • CONFIG_KVM_HYPERV option: A new Kconfig option, CONFIG_KVM_HYPERV, allows users to disable KVM support for Microsoft Hyper-V emulation during the build process.
  • ARM64 LPA2 support: KVM now includes support for ARM64 LPA2, further expanding its capabilities on the ARM architecture.
  • LSX/LAX SIMD CPU instructions on LoongArch: KVM on LoongArch architecture now allows for the LSX/LAX SIMD CPU instructions within KVM guest VMs.

Source: Phoronix.

Zhaoxin Working on Linux Support for Preferred Core on Their CPUs

Zhaoxin engineers are developing preferred core support for their processors in the Linux kernel. Similar to Intel and AMD processors, Zhaoxin CPUs can have cores with different frequencies and maximum frequencies. The proposed Linux kernel patches will use existing ACPI functionality to indicate the per-core differences and will reflect that within the ACPI CPUFreq driver. This will allow the scheduler to prioritize running tasks on the preferred cores for improved performance.

Source: Phoronix.

Bcachefs Joins Linux 6.7 Kernel

Bcachefs, an open-source file system, has been surprisingly merged into Linux 6.7, less than 24 hours after its submission. This quick approval by Linus Torvalds comes as a surprise, considering the previous challenges in getting Bcachefs integrated. The file system spent the entire 6.6 cycle within Linux-Next before being merged. It was developed by Kent Overstreet and is initially regarded as an experimental file system.

Source: Phoronix.

Btrfs Introduces Exciting Enhancements for Linux 6.7

Phoronix reports that Btrfs, the file system for Linux, will be introducing three new features in version 6.7. These features include a RAID stripe tree, simple quota accounting, and temporary file-system ID (FSID) support. The FSID support is particularly notable as it was a feature requested by Valve for their Steam Deck. The Btrfs feature work was carried out by Igalia on behalf of Valve.

The Btrfs pull request for Linux 6.7 provides more details on these features:

  • RAID stripe tree: This new tree is used for logical file extent mapping, especially in zoned mode to implement RAID0 and RAID1 profiles. It can also be used in non-zoned mode. Support for RAID56 is currently being developed. Enabling this feature requires configuring it at the time of creating the file system.
  • Simple quota accounting (squota): This feature provides a simplified mode of qgroup that accounts for all space on the initial extent owners (subvolumes). It makes creating and deleting snapshots more efficient, particularly for container use cases. Enabling this feature is backward incompatible but can be done on an existing file system.
  • Temporary filesystem FSID (temp_fsid): The FSID is a unique identifier for a filesystem and is hard-coded in the structures, which prevents mounting the same FSID on different devices. With this feature, a new temporary FSID can be generated on mount, allowing for root partition A/B testing or for use with VM root images.

The article also mentions performance improvements in Btrfs for Linux 6.7. One improvement is the reduction of reservations for checksum deletions, resulting in a 12% decrease in deletion time for files with many extents. Additionally, work has been done to make extent state merges more efficient during insertions, reducing the runtime of critical functions by 5%.

It is worth noting that Btrfs in Linux 6.7 removes its integrity check functionality and includes various other low-level code improvements.

Source: Phoronix.

Highlights of Linux 6.6 Release: Arm, RISC-V, and MIPS Architectures

The Linux 6.6 release has just been announced by Linus Torvalds on the Linux Kernel Mailing List. This release comes about two months after the release of Linux 6.5, and it brings several notable changes and updates to the kernel.

One of the highlights of Linux 6.6 is the addition of Intel’s shadow stack hardware support. This feature helps prevent exploits by maintaining a secondary (shadow) stack that cannot be directly modified. The processor pushes the return address to both the normal stack and the shadow stack, and upon return, it compares the two copies. If they differ, the processor raises a control protection fault, which can prevent stack modification exploits. It’s important to note that this implementation only supports shadow stack on 64-bit kernels and offers support for 32-bit via IA32 emulation only for userspace.

Another significant change in Linux 6.6 is the introduction of the EEVDF task scheduler. This scheduler replaces the CFS (Completely Fair Scheduler) that was merged in Linux 2.6.23. The EEVDF scheduler is designed to ensure that processes that are not getting the attention they deserve are automatically picked the next time, while processes that have been given more attention than necessary are “punished.” This algorithmic approach improves the latency of tasks that would be left behind by the CFS scheduler.

Additionally, Linux 6.6 brings faster asynchronous Direct I/O using io_uring, resulting in up to a 37% improvement in throughput/latency for low queue depth IO.

In terms of Arm architecture changes, Linux 6.6 introduces various updates and additions for Allwinner, Rockchip, Amlogic, Samsung, Qualcomm, MediaTek, and other Arm platforms. These changes include support for new boards, improvements to clock drivers, additions to device trees, and various driver updates.

The RISC-V architecture also sees some updates in Linux 6.6, including support for new device tree interfaces, userspace access to performance counters, more instructions in kprobes, crash kernels allocated above 4GiB, support for KCFI, and more. The MIPS architecture receives some cleanups and fixes in this release.

Overall, the Linux 6.6 release brings important updates and improvements to the kernel, enhancing security, task scheduling, and I/O performance. It also expands support for various architectures, including Arm, RISC-V, and MIPS. Linux enthusiasts and developers will find these updates valuable for their servers, Linux-based home labs, and DevOps environments.

Source: CNX Software – Embedded Systems News.