Conveners
Toolchains MC
- Jose E. Marchesi (GNU Project, Oracle Inc.)
Description
The goal of the Toolchains micro-conference is to hold discussions about toolchain related topics that are relevant to the Linux kernel. This covers both the GNU toolchain and the Clang/LLVM toolchain.
In the last years we have had either a micro-conference or a complete track to discuss about Toolchain topics during LPC, and along with LSFMMBPF they have proven to be a quite effective way to keep track and bring to a satisfactory conclusion of problems that often take a long time to resolve and that require a lot of interaction between the kernel and the toolchains communities.
This is particularly important for some topics that are of maintenance in nature and evolve over time. But also for particular projects that cover some particular need of the kernel hackers, or some desired functionality.
Some of the topics we are particularly interested in covering this year are:
- Kernel-oriented toolchain security features (KSPP).
- Coverage of new system calls in glibc.
- Support for compiling BPF programs with both GCC and Clang.
- Removal of compiler plugins from the kernel source tree.
- Toolchain support for facilitating online patching in ARM64.
- User stack unwinding in the kernel, based on the SFrame format.
- Profile-guided optimization of the kernel.
- Any other issue brought from the Kernel BoF at the GNU Tools Cauldron conference in September.
As is intended with micro-conference, the emphasis is to have productive discussions and the goal is to reach agreements and satisfactory solutions to fix particular issues. In particular, long talks are discouraged, and the presentation material should be reduced to the minimum necessary to present the problem to discuss. Notepads should then be ready to document the discussion and the reached agreements.
Key participants:
- Kees Cook (KSPP)
- Yonghong Song (BPF, LLVM BPF back-end)
- Steven Rostedt (SFrame kernel support, feedback from Cauldron)
- Paul McKenney (feedback from Cauldron)
- Jose E. Marchesi (GCC BPF back-end)
-
Justin Stitt (Google), Kees Cook (Google)11/12/2025, 15:00
Another year of work is behind us, with lots of progress across GCC, Clang, and Rust to provide the Linux kernel with a variety of security features. Let's review and discuss where we are with parity between toolchains, approaches to solving open problems, and exploring new features.
Parity reached since last year:
- arbitrary stack protector guard location (Clang: [RISC-V][1],...
-
Florent Revest (Google)11/12/2025, 15:20
I'd like to share some toolchain experiences encountered as part of my work on hardening the kernel running on Google's production servers.
I'll discuss "profile guided hardening" (aka "selective sanitization") on how to make kernel cold paths extra hardened using
-lower-allow-check-percentile-cutoff-hotand-fsanitize-ignorelistI'll also share my excitement around the recent Clang...
Go to contribution page -
Rong Xu (Google)11/12/2025, 15:40
We're going to talk about the work we've done to enable distributed ThinLTO builds for the kernel. We'll cover why we're doing this, how we implemented it, and how it compares to in-process builds. We'll also discuss the changes we made to other components, like livepatch.
Go to contribution page -
Steven Rostedt11/12/2025, 16:00
Currently a futex does not expose any information about the owner of the futex to the kernel. When a task blocks on a futex it updates information on the shared memory of the futex about it waiting and enters the kernel to sleep until the owner wakes it up. For a futex that is held for a short time, this can cause a noticeable performance hit because the time it takes for a blocked task to...
Go to contribution page -
Mr Carlos O'Donell (Red Hat)11/12/2025, 17:00
In 2014 I added "WIP: Kernel syscalls wrappers" [1] item to the upstream glibc consensus documentation.
Over the last 11 years the idea that we should add C library wrappers for all Linux syscalls has waxed and waned, but I would like to revisit the idea with the help of the kernel community.
I want to look at the...
Go to contribution page -
Mr Qais Yousef (Google)11/12/2025, 17:20
Performance Inversion (more generalized form of Priority Inversion) is a common problem in the wild. RT tasks are not the only ones susceptible to it; SCHED_NORMAL are prone to it too. Whether it is due to usage of nice value, running on big.LITTLE system or DVFS, the lock holders can cause a delay to an important waiter leading to performance problems.
Proxy execution effort led by John...
Go to contribution page -
Jose E. Marchesi (GNU Project, Oracle Inc.)11/12/2025, 17:40
The goal of this activity is to go through a list of specific problems and issues concerning the BPF support in GCC.
TBD
Go to contribution page -
Song Liu (Meta), Yonghong Song11/12/2025, 18:00
We have been using CONFIG_LTO_CLANG_THIN in our production kernel for a few years. While delivering non-trivial performance improvements, kernels with CONFIG_LTO_CLANG_THIN enabled also bring challenges to our work:
Go to contribution page
LTO causes confusion for tracing users. With LTO, the compiler is more likely to do selective inlining, i.e., inline a kernel function at some call sites, but not some others....