From owner-cvs-src Thu Mar 13 13:49:38 2003 Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C9BD137B401 for ; Thu, 13 Mar 2003 13:49:35 -0800 (PST) Received: from relay.pair.com (relay.pair.com [209.68.1.20]) by mx1.FreeBSD.org (Postfix) with SMTP id A35BE43FB1 for ; Thu, 13 Mar 2003 13:49:32 -0800 (PST) (envelope-from silby@silby.com) Received: (qmail 19645 invoked from network); 13 Mar 2003 21:49:31 -0000 Received: from niwun.pair.com (HELO localhost) (209.68.2.70) by relay.pair.com with SMTP; 13 Mar 2003 21:49:31 -0000 X-pair-Authenticated: 209.68.2.70 Date: Thu, 13 Mar 2003 15:46:22 -0600 (CST) From: Mike Silbersack To: David Schultz 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 In-Reply-To: <20030313005115.GA11794@HAL9000.homeunix.com> Message-ID: <20030313154226.X682@odysseus.silby.com> References: <200303122313.h2CNDHMU046431@repoman.freebsd.org> <20030312175458.J32334@odysseus.silby.com> <20030313005115.GA11794@HAL9000.homeunix.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-src@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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-src" in the body of the message