Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Mar 2003 02:44:54 -0800
From:      David Schultz <das@FreeBSD.org>
To:        Poul-Henning Kamp <phk@phk.freebsd.dk>
Cc:        Garance A Drosihn <drosih@rpi.edu>, Dan Nelson <dnelson@allantgroup.com>, Wes Peters <wes@softweyr.com>, freebsd-arch@FreeBSD.org
Subject:   Re: Patch to protect process from pageout killing
Message-ID:  <20030325104454.GA5934@HAL9000.homeunix.com>
In-Reply-To: <14382.1048580753@critter.freebsd.dk>
References:  <20030325075342.GA5450@HAL9000.homeunix.com> <14382.1048580753@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
Thus spake Poul-Henning Kamp <phk@phk.freebsd.dk>:
> As I see it, there is a need for several mechanisms:
> 
> 1. A mechanism to export to userland enough information about the
>    current RAM availability, so that phkmalloc and application
>    specific code can make intelligent choices before things go bad.
> 
> 2. A mechanism to alert userland to the fact that things _have_ gone
>    bad.
> 
> 3. A mechanism to influence the "Who do we kill ?" decision once
>    things have gone from bad to worse.

I completely agree, and in my last email I attempted to address
the fact that #2 and #3 are distinct, and to say that people
shouldn't be complaining about Wes's solution to #3 because it
doesn't address #2.

For #1 and #2, we could have a SIGVM (your terminology from the
*last* time this came up) to notify processes about material
changes in global resource availability.  Applications could then
look at that "kernel info" page upon receiving the signal and take
appropriate action.

I think the hardest part is getting applications to use a
proprietary facility.  (For example, look at how few people are
using kqueue for all of its advantages.)  Certainly it could be
added to base system programs, but it would be most useful for
applications such as postgresql and apache.

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?20030325104454.GA5934>