Re: [PATCH v2 00/13] Dynamic Kernel Stacks
From: H. Peter Anvin
Date: Sat Apr 25 2026 - 05:52:35 EST
On 2026-04-24 12:41, Dave Hansen wrote:
> On 4/24/26 12:14, David Stevens wrote:
>> The question is then: is this approach something that is fundamentally
>> untenable in the kernel
>
> Yes. Fundamentally untenable.
>
> Not allowing stack faults has been a wonderful simplification. It's one
> of those things that just plain makes the kernel easier to maintain.
> Saving low single digits of system memory is not exactly making me eager
> to go back to the harder-to-maintain days.
>
> I seriously doubt that this 1% is the lowest hanging fruit for memory
> bloat on these systems. ;)
It is worth noting that this was one of the VERY early design decisions that
has shaped Linux from the beginning:
- No swapping of kernel memory
- Kernel stacks are statically allocated
- Physical RAM is mapped into the kernel at all times
- A "monolithic" kernel using function calls, not message passing
- A kernel interface that closely maps to the low-level application API
(e.g. each user space thread is a kernel thread.)
- Kernel ABIs and APIs are subject to evolution; stability is only guaranteed
in user space.
Those design decisions are, by and large, what has made Linux Linux: a
relatively simple, highly performant, and reliable system.
-hpa