Re: [RFC 00/14] Dynamic Kernel Stacks

From: Pasha Tatashin
Date: Thu Mar 14 2024 - 15:34:48 EST


On Thu, Mar 14, 2024 at 3:29 PM Kent Overstreet
<kent.overstreet@xxxxxxxxx> wrote:
>
> On Thu, Mar 14, 2024 at 03:23:08PM -0400, Pasha Tatashin wrote:
> > > >
> > > > My point is that what matters is total memory use, not just memory used in
> > > > the kernel. Amdahl's law.
> > >
> > > If userspace is running a few processes with many threads and the
> > > userspace stacks are small, kernel stacks could end up dominating.
> > >
> > > I'd like to see some numbers though.
> >
> > The unused kernel stack pages occupy petabytes of memory across the fleet [1].
>
> Raw number doesn't mean much here (I know how many machines Google has,
> of course it's going to be petabytes ;), percentage of system memory
> would be better.
>
> What I'd _really_ like to see is raw output from memory allocation
> profiling, so we can see how much memory is going to kernel stacks vs.
> other kernel allocations.

I've heard there is memory profiling working that can help with that...

While I do not have the data you are asking for, the other kernel
allocations might be useful, but this particular project is targeted
to help with reducing overhead where the memory is not used, or used
in very extreme rare cases.

> Number of kernel threads vs. number of user threads would also be good
> to know - I've been seeing ps output lately where we've got a lot more
> workqueue workers than we should, perhaps that's something that could be
> addressed.

Yes, doing other optimizations make sense, reducing the total number
kernel threads if possible might help as well. I will look into this
as well to see how many user threads vs kernel threads we have.