Re: [RFC 11/14] x86: add support for Dynamic Kernel Stacks

From: Pasha Tatashin
Date: Mon Mar 11 2024 - 20:24:27 EST


> >
> > You can't block when scheduling, either. What if you can't refill the pool?
>
> Why can't we (I am not a scheduler guy)? IRQ's are not yet disabled,
> what prevents us from blocking while the old process has not yet been
> removed from the CPU?

Answering my own question: single cpu machine, the thread is going
away, but tries to refill the dynamic-pages, alloc_page() goes into
slow path i.e (__alloc_pages_slowpath), where it performs
cond_resched() while waiting for oom kills, and yet we cannot leave
the CPU.