Corbet
[$] Custom out-of-memory killers in BPF
The out-of-memory (OOM) killer has long been a scary and controversial part
of the Linux kernel. It is summoned from some dark place when the system
as a whole (or, more recently, any given control group) is running so low
on memory that further allocations are not possible; its job is to kill off
processes until a sufficient amount of memory has been freed. Roman
Gushchin has found a way to make the OOM killer even scarier: adding the
ability to load
custom OOM killers in BPF.
[$] LWN.net Weekly Edition for May 1, 2025
Inside this week's LWN.net Weekly Edition:
- Front: Mailman 2 vulnerabilities; AI in Debian; __nonstring__; Cache-aware scheduling; Freezing filesystems; Socket-level storage; Debugging information; LWN in 2025.
- Briefs: Debian election; Kali Linux key; OpenBSD 7.7; Firefox 138.0; GCC 15.1; Meson 1.8.0; Valgrind 3.25.0; FSF review; OSI retrospective; Mastodon; Quotes; ...
- Announcements: Newsletters, conferences, security updates, patches, and more.
Albertson: Future of OSL in Jeopardy
Lance Albertson writes
that the Oregon State University Open Source Lab, the home of many
prominent free-software projects over the years, has run into financial
trouble:
I am writing to inform you about a critical and time-sensitive situation facing the Open Source Lab. Over the past several years, we have been operating at a deficit due to a decline in corporate donations. While OSU's College of Engineering (CoE) has generously filled this gap, recent changes in university funding have led to a significant reduction in CoE's budget. As a result, our current funding model is no longer sustainable and CoE needs to find ways to cut programs.Earlier this week, I was informed that unless we secure $250,000 in committed funds, the OSL will be forced to shut down later this year.
The conclusion of the FSF board review
The Free Software Foundation has announced
the completion of the review of its board of directors; the process
resulted in the reconfirmation of all five sitting board members.
The review examined board members Ian Kelling, Geoffrey Knauth, Henry Poole, Richard Stallman, and Gerald Sussman. The process generated detailed philosophical and policy discussions between board members and the FSF's global associate members on topics ranging from the firmness of the Free Software Definition, developments in machine learning, to the board's president position.
How LWN is faring in 2025
Just over six months ago, The Economist described the US economy as "the envy of the
world". That headline would be unlikely to appear now. The economic
boom referenced in that article feels like a distant memory, markets are
falling, and uncertainty is at an all-time high. Like everybody else, LWN
is affected by the current turbulence in the political and economic
spheres; we expect to get through this period, but there will be some
challenges.
LWN's Mastodon migration
The LWN.net fediverse (Mastodon) feed has moved; we are now known as @LWN@lwn.net. The migration magic has
shifted many of our followers over automatically but, if you follow that
stream, you might want to make sure that you have shifted to the new
source.
Firefox 138.0 released
Version
138.0 of the Firefox web browser has been released. Changes include
some profile-management improvements, the ability to get weather-related
suggestions in the address bar (US only), and some security fixes.
Barnes: Parallel ./configure
Tavian Barnes takes on
the tedious process of waiting for configure scripts to run.
I paid good money for my 24 CPU cores, but ./configure can only manage to use 69% of one of them. As a result, this random project takes about 13.5× longer to configure the build than it does to actually do the build.The purpose of a ./configure script is basically to run the compiler a bunch of times and check which runs succeeded. In this way it can test whether particular headers, functions, struct fields, etc. exist, which lets people write portable software. This is an embarrassingly parallel problem, but Autoconf can't parallelize it, and neither can CMake, neither can Meson, etc., etc.
(Thanks to Paul Wise).
[$] Cache awareness for the CPU scheduler
The kernel's CPU scheduler has to balance a wide range of objectives. The
tasks in the system must be scheduled fairly, with latency for any given
task kept within bounds. All of the CPUs in the system should be kept busy
if there is enough work to do, but unneeded CPUs should be shut down to
reduce power consumption. A task should also run on the CPU that is most
likely to have cached the memory that task is using. This patch
series from Chen Yu aims to improve how the scheduler handles cache
locality for multi-threaded processes.