Index | Thread | Search

From:
Claudio Jeker <claudio@openbsd.org>
Subject:
Re: Faster _exit(2) for a faster userland: R.I.P the reaper
To:
Ted Unangst <tedu@tedunangst.com>
Cc:
dlg@openbsd.org, visa@openbsd.org, tech@openbsd.org, jan@openbsd.org, mpi@grenadille.net, ajacoutot@openbsd.org
Date:
Sat, 3 May 2025 14:06:45 +0200

Download raw body.

Thread
On Sat, May 03, 2025 at 02:08:35AM -0400, Ted Unangst wrote:
> On 2025-05-03, Claudio Jeker wrote:
> 
> > I mentioned this to mpi@, his diff does not free threads until the process
> > exits and runs out of proc on any workload that uses many threads.
> > This just does not work, his diff is over agressive by removing the reaper
> > even for that one case..
> 
> I think that chunk can be pulled up a little in exit1, so that when one
> thread exits, it will delete any dead siblings. Need a P_ZOMBIE, or a
> pr_deadproc list. This seems like an old idea? Did I forgot why we
> rejected it?

I do not understand why we can't keep the reaper just for this. The work
needed for releasing struct proc and its uarea is minimal. Why delay it
until the next thread exits?

There is no need to remove the reaper but we need to move the heavy uvm
teardown out of it.

-- 
:wq Claudio