From owner-freebsd-current@FreeBSD.ORG Mon Sep 24 14:42:50 2007 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 99F3D16A419; Mon, 24 Sep 2007 14:42:50 +0000 (UTC) (envelope-from rermilov@team.vega.ru) Received: from mail.vega.ru (mx1.vega.ru [87.242.77.163]) by mx1.freebsd.org (Postfix) with ESMTP id 56BD713C459; Mon, 24 Sep 2007 14:42:50 +0000 (UTC) (envelope-from rermilov@team.vega.ru) Received: from [87.242.97.68] (port=52302 helo=edoofus.dev.vega.ru) by mail.vega.ru with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68 (FreeBSD)) (envelope-from ) id 1IZp96-0009op-0i; Mon, 24 Sep 2007 14:42:48 +0000 Received: from edoofus.dev.vega.ru (localhost [127.0.0.1]) by edoofus.dev.vega.ru (8.14.1/8.14.1) with ESMTP id l8OEgAQY084631; Mon, 24 Sep 2007 18:42:10 +0400 (MSD) (envelope-from rermilov@team.vega.ru) Received: (from ru@localhost) by edoofus.dev.vega.ru (8.14.1/8.14.1/Submit) id l8OEgApl084630; Mon, 24 Sep 2007 18:42:10 +0400 (MSD) (envelope-from rermilov@team.vega.ru) X-Authentication-Warning: edoofus.dev.vega.ru: ru set sender to rermilov@team.vega.ru using -f Date: Mon, 24 Sep 2007 18:42:10 +0400 From: Ruslan Ermilov To: Larry Rosenman Message-ID: <20070924144210.GA82735@team.vega.ru> References: <20070921102946.T11189@borg> <46F415BF.9010500@FreeBSD.org> <20070921140550.D96923@thebighonker.lerctr.org> <46F41CFF.6080108@FreeBSD.org> <46F58799.1030702@freebsd.org> <46F58B21.8030307@FreeBSD.org> <20070924091558.GB32006@team.vega.ru> <46F78C59.1020801@FreeBSD.org> <20070924080347.O84223@thebighonker.lerctr.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070924080347.O84223@thebighonker.lerctr.org> User-Agent: Mutt/1.5.16 (2007-06-09) Cc: Darren Reed , Kris Kennaway , freebsd-current@FreeBSD.org Subject: Re: panic: kmem_malloc(131072): kmem_map too small (AMD64) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 14:42:50 -0000 On Mon, Sep 24, 2007 at 08:04:33AM -0500, Larry Rosenman wrote: > On Mon, 24 Sep 2007, Kris Kennaway wrote: > >> Ruslan Ermilov wrote: >>> On Sat, Sep 22, 2007 at 11:37:37PM +0200, Kris Kennaway wrote: >>>> Darren Reed wrote: [...] >>>>> Stupid question, perhaps, but is vm.kmem_size/vm.kmem_size_max limited >>>>> by physical RAM? >>>> Yes. >>> To be precise, it's actually limited by 2 * sizeof(physical RAM). >>> It's still size of a _virtual_ memory map (kmem_map), after all: >>> : /* >>> : * Limit kmem virtual size to twice the physical memory. >>> : * This allows for kmem map sparseness, but limits the size >>> : * to something sane. Be careful to not overflow the 32bit >>> : * ints while doing the check. >>> : */ >>> : if (((vm_kmem_size / 2) / PAGE_SIZE) > cnt.v_page_count) >>> : vm_kmem_size = 2 * cnt.v_page_count * PAGE_SIZE; >> >> Well OK, but that seems pretty dangerous, because it leaves open a pathway >> to exhaust all of physical memory and presumably panic. > > is KVA pageable? Is the kmem_map dedicating non-pageable memory? > kmem_map is used to map memory for the zone allocator, including malloc(9). > I've set my vm.kmem_max to 1G, (on a 4G amd64 box). Is that reasonable? > It just means that your kernel can "malloc" up to 1G of memory. Cheers, -- Ruslan Ermilov ru@FreeBSD.org FreeBSD committer