social.coop is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Fediverse instance for people interested in cooperative and collective projects. If you are interested in joining our community, please apply at https://join.social.coop/registration-form.html.

Administered by:

Server stats:

489
active users

#kernel

23 posts21 participants3 posts today

Linux 6.15’s exFAT file deletion performance boosted

A recent development in the upcoming Linux 6.15 kernel has been spotted, because there was a big improvement to the exFAT file system implementation in relation to how it deletes the files when the “discard” mount option is used. This improvement significantly saves time as a test file after the merge has been deleted in 1.6 seconds, compared to more than 4 minutes of the total time taken.

This pull request makes sure that, upon file deletion, it discards a group of contiguous clusters (that is, clusters that are next to each other) in batch instead of discarding them one by one. This was because in prior kernels, such as 6.14, “if the discard mount option is enabled, the file’s clusters are discarded when they are freed. Discarding clusters one by one will significantly reduce performance. Poor performance may cause soft lockup when lots of clusters are freed.”

The change has been introduced in commit a36e0ab. Since then, the pull request has been merged to the kernel and it will be integrated to the first release candidate of Linux 6.15. A simple performance benchmark has been verified with the following commands:

# truncate -s 80G /mnt/file# time rm /mnt/file

In detail, the performance of this filesystem without this commit is poor, totalling about 4 minutes and 46 seconds in real time, with 12 seconds of system time. In contrast to the patched kernel, it totals about 1 second in real time, with 17 milliseconds of system time.

It’s a huge improvement!

Image by diana.grytsku on Freepik

🐧Linux Kernel 6.14 Released
—Linux Magazine

「 One of the standout features for kernel 6.14 is that more options have been included for the writing of Rust drivers. Yes, it's the same feature that has recently caused a bit of a stir in the Linux community, as there has been some infighting among developers over adding Rust code to improve the kernel 」

linux-magazine.com/Online/News

Linux MagazineLinux Kernel 6.14 Released » Linux MagazineThe latest Linux kernel has arrived with extra Rust support and more.

Linux 6.15 will bring graphics improvements

Linux 6.15 is currently under development with a lot of promising changes, such as better support for PlayStation 5 controllers, lots of networking changes, and much more to come. It also brings the following key graphics and chipset improvements:

  • Added support for Apple Touch Bar for M1 and M2 MacBooks using the appletbdrm driver
  • Added the nova-core driver as a skeleton Rust driver
  • Added the DPCD eDP v1.5 definition
  • Added support for B140UAN04.4, BOE NV140FHM-NZ, CSW MNB601LS1-3, LG LP079QX1-SP0V, MNE007QS3-7, STA 116QHD024002, Starry 116KHD024006, Lenovo T14s Gen6 Snapdragon
  • Added support for CSOT PNA957QT1-1, Kingdisplay kd110n11-51ie, Starry 2082109qfh040022-50e
  • Added support for Raydium RM67200
  • Added support for BOE AV123Z7M-N17, BOE AV123Z7M-N17
  • Added driver for the Apple Summit display panel
  • Added driver for Visionox RM692E5
  • Added support for GC 11.5.2 + 11.5.3
  • Added support for SDMA 6.1.3
  • Added support for NBIO 7.9.1 + 7.11.2
  • Added support for MMHUB 1.8.1 + 3.3.2
  • Added support for DCN 3.6.0
  • Added support for G200eH5
  • Added support for the MT8365 SoC
  • Added support for MT8188 with DSC compatibility
  • Added support for rk3562-mali
  • Added support for AIC200
  • …alongside other improvements for existing devices

After updating to Linux 6.15, you will notice improved graphics performance across many areas, alongside the new features that this pull request brings.

Linux 6.15 will bring networking improvements

Linux 6.15 is currently under development with a lot of promising changes, such as better support for PlayStation 5 controllers, lots of graphics driver changes, Apple Touch Bar support, and much more to come. It also brings the following networking improvements for the core implementation:

  • Continue Netlink conversions to per-namespace RTNL lock (IPv4 routing, routing rules, routing next hops, ARP ioctls).
  • Continue extending the use of netdev instance locks.
  • Support collecting TCP timestamps (data submitted, sent, acked) in BPF, allowing for transparent (to the application) and lower overhead tracking of TCP RPC performance.
  • Tweak existing networking Rx zero-copy infra to support zero-copy Rx via io_uring.
  • Optimize MPTCP performance in single subflow mode by 29%.
  • Enable GRO on packets which went thru XDP CPU redirect (were queued for processing on a different CPU). Improving TCP stream performance up to 2x.
  • Improve performance of contended connect() by 200% by searching for an available 4-tuple under RCU rather than a spin lock.
  • Avoid unconditionally touching sk_tsflags on RX, improving performance under UDP flood by as much as 10%.
  • Avoid FIB lookup in netfilter if socket is available, 20% perf win.
  • Rework network device creation (in-kernel) API to more clearly identify network namespaces and their roles.
  • Use sysfs_break_active_protection() instead of trylock to avoid deadlocks between unregistering objects and sysfs access.
  • Add a new sysctl and sockopt for capping max retransmit timeout in TCP.
  • Support masking port and DSCP in routing rule matches.
  • Support dumping IPv4 multicast addresses with RTM_GETMULTICAST.
  • Support specifying at what time packet should be sent on AF_XDP sockets.
  • Expose TCP ULP diagnostic info (for TLS and MPTCP) to non-admin users.
  • Add Netlink YAML spec for WiFi (nl80211) and conntrack.
  • Introduce EXPORT_IPV6_MOD() and EXPORT_IPV6_MOD_GPL() for symbols which only need to be exported when IPv6 support is built as a module.
  • Age FDB entries based on Rx not Tx traffic in VxLAN, similar to normal bridging.
  • Allow users to specify source port range for GENEVE tunnels.
  • netconsole: allow attaching kernel release, CPU ID and task name to messages as metadata.

After updating to Linux 6.15, you will notice improved networking performance across many areas, alongside the new features that this pull request brings. The driver API has also seen interesting improvements, such as:

  • Continue rework / fixing of Energy Efficient Ethernet (EEE) across the SW layers. Delegate the responsibilities to phylink where possible. Improve its handling in phylib.
  • Support symmetric OR-XOR RSS hashing algorithm.
  • Support tracking and preserving IRQ affinity by NAPI itself.
  • Support loopback mode speed selection for interface selftests.

In addition to that, those improvements also bring support for new device drivers, improve existing device drivers, remove the IBM LCS driver for s390, and remove the sb1000 cable modem driver.

The initial nova-core driver stub was merged to #Linux mainline for #LinuxKernel 6.15[1].

#Nova is going to be a #kernel driver for #Nvidia's modern GPUs written in #Rustlang. It is the successor of the #Nouveau kernel driver and serve as base for drivers like #NVK.

The core driver stub is not really useful for anything yet. But that should change soon – and I guess will be the turning point that'll sell #Rust for Linux to the world. 🥳

[1] git.kernel.org/torvalds/c/54e6 and git.kernel.org/torvalds/c/b287

git.kernel.orggpu: nova-core: add initial driver stub - kernel/git/torvalds/linux.git - Linux kernel source tree

With the Linux kernel 6.14 out now, I noted in my quick-look overview about a bug that was fixed for the Steam Deck OLED model. Collabora have given a little more info on their work for this issue and how it was a challenge.
gamingonlinux.com/2025/03/fixi

GamingOnLinux · Fixing a Steam Deck OLED bug for the Linux kernel 6.14 release was a major challengeBy Liam Dawe