From owner-cvs-all@FreeBSD.ORG Mon Feb 16 10:56:21 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A6CD516A4CE; Mon, 16 Feb 2004 10:56:21 -0800 (PST) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5E9D743D1D; Mon, 16 Feb 2004 10:56:21 -0800 (PST) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.10/8.12.10) with ESMTP id i1GItqDL077942; Mon, 16 Feb 2004 13:55:52 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i1GItpQ6077939; Mon, 16 Feb 2004 13:55:51 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Mon, 16 Feb 2004 13:55:51 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: Dag-Erling Smorgrav In-Reply-To: <200402161841.i1GIfwmv008267@repoman.freebsd.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/vm vm_kern.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Feb 2004 18:56:21 -0000 On Mon, 16 Feb 2004, Dag-Erling Smorgrav wrote: > des 2004/02/16 10:41:58 PST > > FreeBSD src repository > > Modified files: > sys/vm vm_kern.c > Log: > Don't panic if we fail to satisfy an M_WAITOK request; return 0 instead. > The calling code will either handle that gracefully or cause a page fault. > > Revision Changes Path > 1.113 +2 -0 src/sys/vm/vm_kern.c This substantially modifies the semantics of the two consumers of kmem_malloc(), and those semantic changes trickle up the stack to a number of important places. Are you going to update the consumers (and their comments) as well? I've generally opposed similar changes in Darwin because you end up sprinkling hundreds (if not thousands) of calls to KASSERT() around the kernel, as memory allocation suddenly becomes an operation that can fail where previously it could not. In FreeBSD, kmem_malloc() is not directly consumed by the majority of the kernel, but it is indirectly consumed via UMA... Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Senior Research Scientist, McAfee Research