Patch to protect process from pageout killing
John Baldwin
jhb at FreeBSD.org
Wed Mar 26 17:13:33 PST 2003
On 26-Mar-2003 Wes Peters wrote:
> On Tuesday 25 March 2003 08:34, John Baldwin wrote:
>> On 25-Mar-2003 Wes Peters wrote:
>> > On Monday 24 March 2003 08:36, Poul-Henning Kamp wrote:
>> >> Also, doesn't this result in the flag being inerited with fork() and
>> >> thereby negating the effect you are seeking for squid ?
>> >
>> > I looked through all the places in kern_fork.c where p2->p_flag gets
>> > set and didn't see anything that looked like it would inherit
>> > P_PROTECTED from p1->p_flag. Did I miss something? I'm obviously a
>> > bit of a neophyte in this part of the kernel.
>>
>> rlimit's are inherited. However, due to a "feature" bug in your patch,
>> the P_PROTECTED flag doesn't get turned on when the rlimit is inherited
>> in fork1().
>
> feature bug? If you mean the fact that the setting for P_PROTECTED isn't
> stored in the rlimit, that was intentional. rlimits are inherited and I
> specifically didn't want that behavior, similar to p_cpulimit. I still
> agree resource limits are not an ideal interface to use for this, I'll
> look further.
I mean that you should be setting P_PROTECTED in fork() based on the
inherited rlimit's since otherwise the value of the rlimit is out of
sync with the P_PROTECTED flag. Hence a bug. However, since non-
inheritance is the desired behavior, it is also a feature, hence
"feature" bug.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
More information about the freebsd-arch
mailing list