Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Mar 2003 23:53:42 -0800
From:      David Schultz <das@FreeBSD.ORG>
To:        Garance A Drosihn <drosih@rpi.edu>
Cc:        Dan Nelson <dnelson@allantgroup.com>, Poul-Henning Kamp <phk@phk.freebsd.dk>, Wes Peters <wes@softweyr.com>, freebsd-arch@FreeBSD.ORG
Subject:   Re: Patch to protect process from pageout killing
Message-ID:  <20030325075342.GA5450@HAL9000.homeunix.com>
In-Reply-To: <p05200f42baa5897e8dd8@[128.113.24.47]>
References:  <200303240823.48262.wes@softweyr.com> <7019.1048523782@critter.freebsd.dk> <20030324213519.GA63147@dan.emsphone.com> <20030325012844.GB4406@HAL9000.homeunix.com> <p05200f42baa5897e8dd8@[128.113.24.47]>

next in thread | previous in thread | raw e-mail | index | archive | help
Thus spake Garance A Drosihn <drosih@rpi.edu>:
> At 5:28 PM -0800 3/24/03, David Schultz wrote:
> > Second, it is only marginally useful to go as far as specifying
> >priorities and quotas and such on process killability.  Most of
> >the time, people can divide the processes on thier system into
> >two categories: critical and killable.
> 
> While that's probably true "most of the time", I think we'd want to
> encourage three categories.  critical, less-critical (killable),
> and kill-me-first.  That's what SIGDANGER provides, and in some
> situations that third category is very desirable.

Yes, I think the SIGDANGER idea makes sense.  Essentially what
you'd want is a higher threshhold above the ``red alert---start
killing things'' threshhold where you can do smart things like
send SIGDANGERs without worrying about running completely out of
memory.  But I'm trying to impress on people that SIGDANGER is
orthogonal to what Wes is trying to do, before the whole thing
gets bogged down in discussions again and nothing ever happens.
Here's an example of what I mean in verbose pseudocode with
fudged constants:

	if (free VM < 64 pages) {
		/* This is the part Wes is working on. */
		kill big processes EXCEPT the ones that
		    are so important that there's no point
		    in running the system without them;
	} else if (free VM < 256 pages) {
		/*
		 * It takes additional memory to do this, but we're
		 * hoping some processes will cooperate and the
		 * shortage will go away.
		 */
		start warning processes with SIGDANGER;
	}

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




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