kernel release 6.3. Learn more about features and updates in this version

major changes, then the main thing is updating ARM platforms and graphics drivers, continuing work on integrating Rust, supporting the creation of HID drivers, and much more. Details are under the cut.



Iron


  • At the moment, the graphics drivers have been cleaned. First of all, changes affected: i810 (old Intel 8xx integrated graphics cards), mga (Matrox GPU), r128 (ATI Rage 128 GPU including Rage Fury, XPERT 99 and XPERT 128 cards), savage (S3 Savage GPU), sis (Crusty SiS GPU), tdfx (3dfx Voodoo) and via (VIA IGP), which were deprecated in 2016 and are not supported in Mesa since 2012.
  • In addition, the framebuffer (fbdev) drivers omap1, s3c2410, tmiofb and w100fb have been removed.
  • There are also new additions. So, for example, in the i915 (Intel) driver, support for discrete Intel Arc graphics cards (DG2/Alchemist) has been expanded, preliminary support for Meteor Lake GPUs has been implemented, and support for Intel Xe HP 4tile GPUs has been enabled.
  • Also in the amdgpu driver, the developers added support for AdaptiveSync technology and the ability to use Secure Display protection mode with multiple displays. Updated support for DCN 3.2 (Display Core Next), SR-IOV RAS, VCN RAS, SMU 13.x and DP 2.1.
  • And the msm driver (GPU Qualcomm Adreno) adds support for the SM8350, SM8450 SM8550, SDM845 and SC8280XP platforms.
  • A few more updates. So, the developers have implemented the pata_parport driver for IDE drives connected via a parallel port. As a result, it became possible to remove the old PARIDE driver from the kernel and upgrade the ATA subsystem. A limitation of the new driver is the inability to simultaneously connect a printer and a disk through a parallel port.
  • New wireless modules have not been ignored either. Thus, the ath12k driver for wireless cards based on Qualcomm chips with Wi-Fi 7 support has been added. Support has been added for wireless cards based on RealTek RTL8188EU chips.
  • And yet – there is support for a large number of boards with chips based on ARM64. New products include Samsung Galaxy tab A (2015), Samsung Galaxy S5, BananaPi R3, Debix Model A, EmbedFire LubanCat 1/2, Facebook Greatlakes, Orange Pi R1 Plus, Tesla FSD, and devices based on Qualcomm MSM8953 SoC (Snapdragon 610 ), SM8550 (Snapdragon 8 Gen 2), SDM450 and SDM632, Rockchips RK3128 TV box, RV1126 Vision, RK3588, RK3568, RK3566, RK3588 and RK3328, TI K3 (AM642/AM654/AM68/AM69).

Disks and files

  • In order to reduce the fragmentation of groups of blocks in Btrfs, the developers provided for the separation of extents by size when allocating blocks. In other words, almost any group of blocks is now limited to small (up to 128KB), medium (up to 8 MB), and large extents. And also – performance optimization was carried out, as a result of which it was possible to speed up the send operation up to 10 times. This significant result was achieved by caching utime for directories and executing commands only when necessary.
  • As for the ext4 file system, its performance has been improved, primarily due to the simultaneous execution of direct input / output operations by several processes into pre-allocated blocks.
  • NFS adds support for data encryption using the AES-SHA2 algorithm.
  • Well, in f2fs, code readability is optimized. In particular, important issues related to atomic writes and the new extent cache have been resolved.

Memory and system services


  • In this release of the kernel, the developers have cleaned up the code, and quite thoroughly. So, the code that is associated with obsolete and no longer used ARM boards has been removed. This step alone reduced the size of the kernel sources by 150,000 lines. In total, about 40 old ARM platforms were removed.
  • Also added is the ability to write drivers for input devices with the HID (Human Interface Device) interface, implemented in the form of BPF programs.
  • Good news for Rust lovers. The developers continued the process of porting additional functionality from the Rust-for-Linux branch related to using Rust as a second language for developing drivers and kernel modules.
  • And yet – in User-mode Linux) on x86-64 systems, support for code written in the Rust language is implemented.
  • Added support for SME 2 (Scalable Matrix Extension) instructions for ARM processors.
  • In addition, support for the BPF trampoline mechanism has been added for the s390x and RISC-V RV64 architectures.
  • Well, for chips based on RISC-V, the use of ZBB instructions has been implemented to speed up operations with strings.
  • The developers did not bypass the Chinese chips. So, for processors based on the LoongArch architecture, support for kernel address space randomization (KASLR), changing the kernel’s memory location (relocation), hardware breakpoints, and the kprobe mechanism is implemented.
  • Well, we had to get rid of the support for assembling the kernel by the Intel ICC compiler, since it had been out of service for quite a long time. No one has ever solved the problem.

Virtualization and Security


  • An important point worth noting is that KVM for x86 systems has added support for Hyper-V extended hypercalls. In addition, they are forwarded to a handler that runs in a host environment in user space. This change made it possible to implement nested launch support for the Hyper-V hypervisor.
  • Addresses a vulnerability that could bypass Specter v2 attack protection when using simultaneous multithreading technology (SMT or Hyper-Threading).
  • It is worth recalling the ARM64 architecture again – the “virtconfig” build target has been added for it. When selected, it activates the minimum set of kernel components that are needed to boot in virtualization systems.
  • And one more thing – support for CRB TPM2 (Command Response Buffer) devices built into AMD Ryzen processors based on Microsoft Pluton technology has been added.

The web and everything connected with it

  • The developers have removed support for the “wireless extensions” API for managing WiFi 7 (802.11be) wireless interfaces. This was done for the reason that the API does not work out all the necessary settings.
  • Added ability to handle mixed streams for MPTCP (MultiPath TCP). First of all, we are talking about those streams where IPv4 and IPv6 protocols are used.
  • There is a new new sysctl parameter default_rps_mask. Through it, you can set the default RPS (Receive Packet Steering) configuration.
  • The developers removed support for queuing disciplines to restrict CBQ (class-based queuing), ATM (ATM virtual circuits), dsmark (differentiated service marker), tcindex (traffic-control index) and RSVP (resource reservation protocol) traffic.
  • For ICMP, IcmpOutRateLimitGlobal, IcmpOutRateLimitHost, and Icmp6OutRateLimitHost (nstat -sz “*RateLimit*”) counters have been added to track the state of the rate limit.

Well, as always, in the public domain there was an option free kernel 6.3 – Linux-libre 6.3-gnu. It was created by the Latin American Free Software Foundation. In particular, for the release of a free kernel, blobs were cleaned in the new ath12k, aw88395 and peb2466 drivers, as well as in new devicetree files for qcom devices based on the AArch64 architecture, and other objects were also cleaned up.

You may also be interested in these texts:

→ How to connect a payment system with Payments to Telegram
→ Cloud with state certification: how to use the flexibility of virtualization and comply with FSTEC orders
→ Ways to organize infrastructure with databases: from simple to complex and efficient

Who has already tried the new product – did everything go well and smoothly after the update? Were there any problems?

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *