Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Mar 2003 15:46:22 -0600 (CST)
From:      Mike Silbersack <silby@silby.com>
To:        David Schultz <das@FreeBSD.org>
Cc:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/vm vm_map.c vm_map.h vm_pageout.c
Message-ID:  <20030313154226.X682@odysseus.silby.com>
In-Reply-To: <20030313005115.GA11794@HAL9000.homeunix.com>
References:  <200303122313.h2CNDHMU046431@repoman.freebsd.org>    <20030312175458.J32334@odysseus.silby.com> <20030313005115.GA11794@HAL9000.homeunix.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Wed, 12 Mar 2003, David Schultz wrote:

> With KSE, all of the threads in the process are made runnable.  I
> assume this is to get them to all exit the kernel as fast as
> possible so the process can die, although there may be a better
> solution.  Still, it shouldn't be a big problem.

Well, back when I was running tests, I found that if you had 1000s of
processes running, the kill signal could take so long to get delivered and
acted upon that the same process might have to be killed by the pageout
daemon 3-4 times before it actually died.

> In any case, with this patch I haven't been able to reproduce any
> problems under fairly heavy load.  I have noticed that the pageout
> daemon sometimes picks a bad process to kill (in my case, sshd on
> a remote testing box) when the monster process that is consuming
> all of memory is locked.  Unfortunately, the pagedaemon shouldn't

Good, then things haven't changed too much.  My big worry with 5.0 is that
KSE / new schedulers would change scheduling priorities such that the
killed process would never be run, and therefore never be killed.

> block in a low swap situation to avoid deadlocks.  A partial
> solution that might be a little bit more accurate would be to find
> some way to get at pm_stats.resident_count without requiring any
> locks, and just estimate swap usage for locked processes.  Again,
> I don't know if that's worthwhile.  I believe Juli is working on a
> way to designate certain processes as unkillable by the pageout
> daemon, so people running postgres on a busy system, for instance,
> are not unpleasantly surprised when the pageout daemon runs out of
> breathing room and decides that postmaster is the biggest process.

That could be useful, although I think it may be more trouble that it's
worth.  (Why give shell accounts on the postgres machine?)

I wonder if we should have a regression test which attempts to jam up the
machine with lots of processes / ram usage. :)

Mike "Silby" Silbersack

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030313154226.X682>