Welcome to LWN.net
LWN.net is a reader-supported news site dedicated to producing the best coverage from within the Linux and free software development communities. See the LWN FAQ for more information, and please consider subscribing to gain full access and support our activities.
[$] Data-type profiling for perf
Tooling for profiling the effects of memory usage and layout has always lagged behind that for profiling processor activity, so Namhyung Kim's patch set for data-type profiling in perf is a welcome addition. It provides aggregated breakdowns of memory accesses by data type that can inform structure layout and access pattern changes. Existing tools have either, like heaptrack, focused on profiling allocations, or, like perf mem, on accounting memory accesses only at the address level. This new work builds on the latter, using DWARF debugging information to correlate memory operations with their source-level types.
[$] LWN.net Weekly Edition for December 21, 2023
Posted Dec 21, 2023 0:45 UTC (Thu)The LWN.net Weekly Edition for December 21, 2023 is available.
Inside this week's LWN.net Weekly Edition
- Front: Looking back at 2023; Ext4 data corruption; Mlx5, netdev, and lockdown; Gccrs; Linux graphics.
- Briefs: OpenSSH 9.6; sched_ext; openSUSE logo; Qubes OS 4.2; Firefox 121; QEMU 8.2; Quotes; ...
- Announcements: Newsletters, conferences, security updates, patches, and more.
[$] Looking back at 2023
Yet another year has come to an end. Much to our dismay, 2023 did not, in fact, happen exactly as we predicted back in January. So it seems that, once again, we will have to go through the process of looking at the predictions that we made and mocking each in turn, before getting into what was missed altogether. A lot happened in 2023, not all of which was predictable.
[$] The Linux graphics stack in a nutshell, part 1
Linux graphics developers often speak of modern Linux graphics when they refer to a number of individual software components and how they interact with each other. Among other things, it's a mix of kernel-managed display resources, Wayland for compositing, accelerated 3D rendering, and decidedly not X11. In a two-part series, we will take a fast-paced journey through the graphics code to see how it converts application data to pixel data and displays it on the screen. In this installment, we look at application rendering, Mesa internals, and the necessary kernel features.
[$] The intersection of mlx5, netdev, and lockdown
The NVIDIA Mellanox ConnectX HW family of adapters is a complex beast, supporting networking, InfiniBand, RDMA, and more. As a result, the mlx5 kernel driver that supports this hardware is also complex, as is the interface that it provides to user space. The mlx5 developers have, for a while now, been proposing the addition of a new control interface, in the form of a separate virtual device exported by the kernel, that would make vast amounts of debugging information available. This driver has encountered some significant opposition on its way toward the mainline, though, raising a number of questions about appropriate interfaces and when subsystem maintainers have veto power over submissions.
[$] Progress toward a GCC-based Rust compiler
The gccrs project is an ambitious effort started in 2014 to implement a Rust compiler within The GNU Compiler Collection (GCC). Even though the task is far from complete, progress has been made since LWN's previous coverage, according to reports from the project. Meanwhile, another hybrid and more mature approach to GCC Rust code generation is available in rustc_codegen_gcc.
[$] Ext4 data corruption hits the stable kernels
The kernel's stable-update process is intended to produce kernels that are, well, stable; when that promise is lived up to, users can update to newer stable updates without fear. By any account, a bug that corrupts data on ext4 filesystems constitutes a failure to hold to that promise. As is so often the case, this problem is the result of a chain of failures in a system that works well most of the time.
LWN.net Weekly Edition for December 14, 2023
Posted Dec 14, 2023 0:45 UTC (Thu)The LWN.net Weekly Edition for December 14, 2023 is available.
Inside this week's LWN.net Weekly Edition
- Front: OpenSUSE logo; Shadow stacks in clone3(); Modern C; Rust changes; Project Bluefin.
- Briefs: LogoFAIL; ext4 corruption; RIP vger.kernel.org; Rust in space; LXD CLA; Developer liability; Quotes; ...
- Announcements: Newsletters, conferences, security updates, patches, and more.
Logo and trademark issues for openSUSE
A contest for new logos for the openSUSE project and for four separate distributions of it, Tumbleweed, Leap, Slowroll, and Kalpa, has turned into a bit of an uproar in that community. A vote has been held on the candidates and winners have been announced, but some are questioning why there is a need to change the existing logo (the "Geeko" chameleon) at all. In addition, there are questions about whether the new logo will be trademarked (as previous ones have been)—and how many years that will take.
Project Bluefin: A customized Fedora Silverblue desktop image
So-called "immutable" Linux distributions have been in development for some time, but (unless you count Chrome OS) haven't gained much traction. Project Bluefin, is a heavily customized set of Fedora Silverblue images coming from the Universal Blue community; they are designed to deliver a reliable Linux desktop that's as easy to use as a Chromebook but more customizable. Bluefin's mission is to change up the desktop experience and attract a new generation of open-source contributors with a "cloud-native" take on developing and delivering the operating system.
Darktable 4.6.0 released
Version
4.6.0 of the darktable photo editor has been released. Changes include
a new "rgb primaries" module that "can be used for delicate color
corrections as well as creative color grading
", enhancements to the
sigmoid module, some performance improvements, and more. (LWN looked at darktable in 2022).
Security updates for Friday
Security updates have been issued by Debian (bluez, chromium, gst-plugins-bad1.0, openssh, and thunderbird), Fedora (chromium, firefox, kernel, libssh, nss, opensc, and thunderbird), Gentoo (Arduino, Exiv2, LibRaw, libssh, NASM, and QtWebEngine), Mageia (gstreamer), and SUSE (gnutls, gstreamer-plugins-bad, libcryptopp, libqt5-qtbase, ppp, tinyxml, xorg-x11-server, and zbar).
The 6.7 kernel will be released on January 7
Unsurprisingly, Linus Torvalds has let it be known that he will do a 6.7-rc8 release (rather than 6.7 final) on December 31, thus avoiding opening the 6.8 merge window on New Year's Day.
Just FYI - my current plan is that -rc7 will happen this Saturday (because I still follow the Finnish customs of Christmas _Eve_ being the important day, so Sunday I'll be off), and then if anything comes in that week - which it will do, even if networking might be offline - I'll do an rc8 the week after.Then, unless anything odd happens, the final 6.7 release will be Jan 7th, and so the merge window for 6.8 will open Jan 8th.
Announcing `async fn` and return-position `impl Trait` in traits (Rust Blog)
The Rust Blog announces the stabilization of a couple of trait features aimed at improving support for async code:
Ever since the stabilization of RFC #1522 in Rust 1.26, Rust has allowed users to write impl Trait as the return type of functions (often called "RPIT"). This means that the function returns "some type that implements Trait". This is commonly used to return closures, iterators, and other types that are complex or impossible to write explicitly. [...]Starting in Rust 1.75, you can use return-position impl Trait in trait (RPITIT) definitions and in trait impls. For example, you could use this to write a trait method that returns an iterator: [...]
So what does all of this have to do with async functions? Well, async functions are "just sugar" for functions that return -> impl Future. Since these are now permitted in traits, we also permit you to write traits that use async fn.
Security updates for Thursday
Security updates have been issued by Debian (firefox-esr), Fedora (kernel), Mageia (bluez), Oracle (fence-agents, gstreamer1-plugins-bad-free, opensc, openssl, postgresql:10, and postgresql:12), Red Hat (postgresql:15 and tigervnc), Slackware (proftpd), and SUSE (docker, rootlesskit, firefox, go1.20-openssl, go1.21-openssl, gstreamer-plugins-bad, libreoffice, libssh2_org, poppler, putty, rabbitmq-server, wireshark, xen, xorg-x11-server, and xwayland).
QEMU 8.2.0 released
Version 8.2.0 of the QEMU emulator is out. Changes include new emulations for virtio-sound devices, universal flash storage devices, Xilinx Versal boards, and much more.
LSFMM+BPF 2024 call for proposals
The 2024 Linux Storage, Filesystem, Memory-Management, and BPF Summit will
be held May 13 to 15 in Salt Lake City, Utah, USA. The call
for proposals has already gone out, with a deadline of March 1.
"LSF/MM/BPF is an invitation-only technical workshop to map out
improvements to the Linux storage, filesystem, BPF, and memory management
subsystems that will make their way into the mainline kernel within the
coming years.
"
Seven stable kernels
The 6.6.8, 6.1.69, 5.15.144, 5.10.205, 5.4.265, 4.19.303, and 4.14.334 stable kernel updates have all been released; each contains another set of important fixes.
Note that 5.15.145 is already in the review process, with a due date of December 22. It consists almost exclusively of ksmbd patches in a flurry of backporting that was seemingly inspired by the recent marking of ksmbd as broken in 5.15.
Security updates for Wednesday
Security updates have been issued by Fedora (ansible and ansible-core), Gentoo (Minecraft Server and thunderbird), Mageia (fusiondirectory), Red Hat (gstreamer1-plugins-bad-free, opensc, and openssl), Slackware (libssh and mozilla), SUSE (avahi, firefox, ghostscript, gstreamer-plugins-bad, mariadb, openssh, openssl-1_1-livepatches, python-aiohttp, python-cryptography, xorg-x11-server, and xwayland), and Ubuntu (libssh and openssh).
Qubes OS 4.2.0 released
Version 4.2.0 of the Qubes OS distribution has been released; changes include a switch to Xfce for the Fedora and Debian templates, a number of rewritten graphical applications, PipeWire support, and more. See the release notes for details. (Qubes OS was last covered here in 2021).
