All posts by corbet

[$] Thread-identity switcheroo for io_uring

Post Syndicated from corbet original https://lwn.net/Articles/1094303/

The io_uring
subsystem
is all about asynchronous execution; applications count on it
to not block — unless explicitly requested to. Within io_uring, maintaining
the “never blocks” guarantee has sometimes been a challenge, given that
many paths in the kernel were never designed for asynchronous execution.
This problem has been worked around, but at a significant cost to
performance. Now, io_uring maintainer Jens Axboe has posted an RFC patch set
with a somewhat radical (and potentially scary) solution to the problem.

Security updates for Thursday

Post Syndicated from corbet original https://lwn.net/Articles/1094962/

Security updates have been issued by AlmaLinux (.NET 10.0, .NET 8.0, .NET 9.0, corosync, firewalld, kernel, kernel-rt, libevent, libsoup, microcode_ctl, nginx:1.26, python-lxml, rsyslog, tesseract, and unbound), Debian (firefox-esr, mkvtoolnix, thunderbird, and tor), Fedora (open62541, php-pecl-mongodb2, python-django6, python-jwcrypto, and roundcubemail), Mageia (aom, cockpit, libgd, packagekit, and python-h2), Red Hat (corosync, delve, git-lfs, grafana-pcp, gstreamer1-plugins-base, libvirt, opentelemetry-collector, and rhc-worker-playbook), Slackware (mozilla-firefox and mozilla-thunderbird), SUSE (acl, attr, alloy, ansible-core, clamav, containerized-data-importer, corosync, cups, distribution, glibc, google-cloud-sap-agent, govulncheck-vulndb, gvfs, helm, jq, kbd, kubernetes1.34-apiserver, kubernetes1.35-apiserver, lcms2, libcupsfilters, liblzmasdk26, libzypp, zypper, mistral-vibe, opensc, openvpn, pcre2, python-jwcrypto, tomcat, tomcat10, and tomcat11), and Ubuntu (guix, libheif, perl, python-cryptography, sqlite3, and valkey).

Fedora 45 beta drags the Linux console into the 21st century (Register)

Post Syndicated from corbet original https://lwn.net/Articles/1094762/

The Register looks
forward
to the upcoming Fedora 45 release.

The biggest surprise is that Linux’s legacy in-kernel console – the
text-mode interface normally hidden beneath the GUI – has been
replaced with a software-controlled alternative.
The replacement is kmscon, a
userspace terminal emulator that has been in development for more
than a decade.

Security updates for Wednesday

Post Syndicated from corbet original https://lwn.net/Articles/1094720/

Security updates have been issued by AlmaLinux (kernel, kernel-rt, libkcapi, nginx, nginx:1.24, openssl, osbuild-composer, perl, perl:5.32, python-tornado, rsync, and rust), Debian (cjose and nginx), Fedora (environment-modules, erlang, GitPython, knot, perl-Authen-SASL, python-configargparse, ruby, rubygems, and sblim-sfcb), Oracle (firefox, git-lfs, gstreamer1-plugins-base, kernel, libkcapi, nginx, nginx:1.26, openssl, osbuild-composer, perl, perl-YAML-Syck, postgresql18, python-tornado, and rust), Red Hat (fence-agents, git-lfs, microcode_ctl, osbuild-composer, podman, python-pyasn1, and resource-agents), SUSE (389-ds, ant, bson-devel, chirp-20260911, docker, gimp, google-cloud-sap-agent, hauler, kernel, kimi-code, libpcap, python-GitPython, python310, syncthing, yast2-samba-client, and zstd-jni), and Ubuntu (aom, imagemagick, kitty, openssh, phpseclib, policykit-1, python-sql, python-webob, shibboleth-sp, simplesamlphp, snapcast, srt, and suricata-update).

[$] Adding BPF to blk-iocost

Post Syndicated from corbet original https://lwn.net/Articles/1093661/

The scheduling of block I/O requests has long
been a challenge for operating-system kernels. For many years, the
performance characteristics of rotating drives meant that putting
considerable resources into request ordering was worthwhile. In a world
with fast, solid-state drives, scheduling is more concerned with enforcing
fairness between competing users while being fast enough to keep up with
drives that can perform millions of I/O
operations per second. The blk-iocost I/O
controller was designed for the solid-state world and generally performs
well, but there is always a desire to do better. This patch
series
from Tao Cui aims to make blk-iocost more flexible by enabling
the loading of a BPF program to make cost decisions.

[$] Accelerating the kernel’s build process

Post Syndicated from corbet original https://lwn.net/Articles/1093398/

Kernel developers do a lot of kernel builds. Since the kernel is not a
small program, those builds can take a fair amount of time, even on a fast
machine. The kernel also has a complex build system; it is probably fair
to say that few developers truly understand it, and fewer still are willing
to try to improve it. Lorenzo Stoakes, armed with LLM-based assistance,
decided to give it a try, though, and has managed to reduce the time it
takes to build a kernel — and not by a small amount.

[$] Fixing the TCMalloc regression with RSEQ operations

Post Syndicated from corbet original https://lwn.net/Articles/1092555/

The restartable sequences feature is one of
the stranger corners of the kernel’s user-space interface; it provides a
way for user space to carry out simple lockless operations and be informed
if it is preempted over the course of an operation (and must, thus,
restart). Work merged in the 6.19 release to improve the performance of restartable
sequences
broke the TCMalloc allocator,
which was relying on an undocumented (and unintended) kernel behavior.
Now, Olivier Dion is proposing an
addition
to the restartable-sequences API that will bring TCMalloc back
into the fold; it does not make the restartable-sequences API any less
strange, though.

Kernel prepatch 7.3-rc2

Post Syndicated from corbet original https://lwn.net/Articles/1092757/

The 7.3-rc2 kernel prepatch is out for
testing. Linus said:

This didn’t *feel* like a particularly busy rc2, but it clearly
was. rc2 is usually the quietest time when people take a breather
after the merge window and it takes a while to start finding
bugs. But not this time – this is a “full fat” rc release. […]

Nothing looks particularly odd, even if the rc2 timing is a bit
unusual. It might be just random, but we’ll obviously all blame it
on AI, because whether that’s really the cause or not, it’s an easy
thing to blame 😉

[$] Recent work in memory tiering

Post Syndicated from corbet original https://lwn.net/Articles/1092001/

Tiered-memory systems are built with multiple types of memory, each of
which has different performance characteristics. In addition to the usual
DRAM, a tiered system might also provide faster high-bandwidth memory or
slower CXL memory. On these systems, the placement of memory allocations
has a significant effect on the performance that a workload will obtain.
While work on tiered-memory improvements has been ongoing for years, it
feels like the pace has slowed a bit recently. Even so, there are a few
efforts underway, but they are facing questions about whether the tiering
design makes sense.

A note from LWN

Post Syndicated from corbet original https://lwn.net/Articles/1090585/

The online publication industry, as a whole, is struggling, with challenges
coming from multiple directions. Thanks to the support of all of you, our
readers, LWN would appear to be doing better than most. But the world has
changed around us and, in particular, prices have changed considerably. By
now, you probably know where this is going: subscription prices at LWN will
be increasing as of September 15.

[$] The rest of the 7.3 merge window

Post Syndicated from corbet original https://lwn.net/Articles/1089791/

By the time Linus Torvalds released
7.3-rc1
and closed the merge window for this release, 15,267 non-merge
changesets had been pulled into the mainline repository. That is the
second-highest commit count for an -rc1 release in the kernel’s history;
only the 6.7-rc1 release, which included nearly 3,000 commits of bcachefs
history, had more. About 13,000 of those commits entered the mainline
after the first 7.3 merge-window summary
was written so, needless to say, there are a lot of changes to cover.

Kernel prepatch 7.3-rc1

Post Syndicated from corbet original https://lwn.net/Articles/1091421/

Linus has released 7.3-rc1 and closed the
merge window for this release. “Nothing really stands out – except for
the fact that it’s big. It’s not the biggest rc1 we’ve ever had, but it’s
certainly up there, at least in number of commits.
” He pulled 15,267
commits during this merge window, making it the second busiest ever; only
6.7 has exceeded it.

Debian votes to allow “responsible use of generative AI”

Post Syndicated from corbet original https://lwn.net/Articles/1091231/

The results of the
Debian general-resolution vote on the use
of large language models have been posted; the winner is choice 5:
Responsible Use of Generative AI
.

Debian neither endorses nor prohibits the use of generative AI
tools in the development, maintenance, or documentation of
software, packaging, documentation, and other media published
within the Debian Project. We recognize that such tools can
substantially improve the productivity of contributors when used
responsibly, allowing volunteers to spend more of their limited
time on work that requires technical expertise, judgment, review,
and collaboration.

The Debian Project nevertheless expects that all contributions
submitted to Debian, regardless of how and with which tools they
were produced, satisfy the same standards of quality, correctness,
maintainability, and legal compliance. The use of a generative AI
tool does not diminish the contributor’s responsibility for the
work they submit. Contributors are expected to understand, review,
test, and, where appropriate, modify AI-assisted output before
incorporating it into Debian.

[$] Using steal time to moderate CPU demands

Post Syndicated from corbet original https://lwn.net/Articles/1090381/

Virtualization can increase CPU utilization by allowing a large number of
virtual CPUs to share a smaller number of physical CPUs. The amount of CPU
time that is actually available does not change, though, so heavy activity
on too many virtual CPUs can lead to contention and significant performance
loss. The steal governor
patch series
from Shrikanth Hegde is an attempt to address that problem
with a mechanism that allows virtual machines to voluntarily reduce the
number of virtual CPUs they use when contention is high.

mklinux-v7.0-mk2 released

Post Syndicated from corbet original https://lwn.net/Articles/1090582/

For people who would like to experiment with the multi-kernel Linux concept, Cong Wang has
announced the
release of mklinux v7.0-mk2.

mklinux lets one machine run several independent Linux kernels at
the same time on bare metal, without a hypervisor. A host kernel
owns a pool of CPUs, memory and PCI devices, carves that pool into
instances, and boots a spawn kernel into each instance through
kexec_file_load(). Every spawn kernel runs natively on its own
CPUs, its own physical memory and its own devices. Nothing is
emulated and nothing is trapped; the only thing shared is what you
choose to share.

Note that this is not the old MkLinux, which was a port to PowerPC
Macintosh systems.

Mourning Steve French

Post Syndicated from corbet original https://lwn.net/Articles/1090098/

From Jeremy Allison we have the
sad news
of the passing of Steve French. He was the maintainer of the
kernel’s SMB filesystem code for many years, having only dropped that
role
due to health issues in the last week. “I’ve known Steve for
over 20 years. He was a legend in the community, and a really good
friend. He will be greatly missed. Farewell Steve.
” He will indeed be missed.