From owner-freebsd-stable Fri Feb 14 3:54:14 2003 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7567837B401 for ; Fri, 14 Feb 2003 03:54:12 -0800 (PST) Received: from HAL9000.homeunix.com (12-233-57-224.client.attbi.com [12.233.57.224]) by mx1.FreeBSD.org (Postfix) with ESMTP id B236243FAF for ; Fri, 14 Feb 2003 03:54:11 -0800 (PST) (envelope-from dschultz@uclink.Berkeley.EDU) Received: from HAL9000.homeunix.com (localhost [127.0.0.1]) by HAL9000.homeunix.com (8.12.6/8.12.5) with ESMTP id h1EBsBbL000526; Fri, 14 Feb 2003 03:54:11 -0800 (PST) (envelope-from dschultz@uclink.Berkeley.EDU) Received: (from das@localhost) by HAL9000.homeunix.com (8.12.6/8.12.5/Submit) id h1EBrtb5000525; Fri, 14 Feb 2003 03:53:55 -0800 (PST) (envelope-from dschultz@uclink.Berkeley.EDU) Date: Fri, 14 Feb 2003 03:53:55 -0800 From: David Schultz To: The Hermit Hacker Cc: freebsd-stable@FreeBSD.ORG Subject: Re: latest kernel issue ... or increased KVA_FILES ... ? Message-ID: <20030214115355.GA424@HAL9000.homeunix.com> Mail-Followup-To: The Hermit Hacker , freebsd-stable@FreeBSD.ORG References: <20030214065945.L76487@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030214065945.L76487@localhost> Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Thus spake The Hermit Hacker : > I added 'options KVA_FILES=512' to my kernel config last night, and > rebooted with the new settings, and fear I may have either error'd with > it, or just am getting hit by a bug in the latest code ... > > First "stupid question", if I increase KVA_FILES, does that cause any > changes to 'world' that requires me to do an installworld right away for > thigns to work? I upgraded the source from Feb 1st -> Feb 13th, so I only > did an installkernel, rebooted, and was going to do the installworld > after, except that after reboot, two daemons that use threads wouldn't > run, giving errors to /var/log/messages of: > > Feb 13 23:55:35 venus /kernel: pid 901 (nsd8x), uid 65534: exited on signal 6 I assume you mean KVA_PAGES. Changing that value changes how the 4 GB virtual address space is split between the kernel and userland applications. The kernel occupies the upper end of the space, and the user application's stack (which grows downwards on most architectures) resides just below that. If you set aside more of the virtual address space for the kernel, the start of the stack is lower and applications have a smaller space. Pthreads in 4-STABLE uses the start of the main stack as a basis for determining where to put stacks for individual threads that are spawned. The value of KVA_PAGES used to be statically compiled into pthreads, so you would have to recompile libc every time you changed KVA_PAGES. Peter Wemm tried to fix this some time ago by reading the value from sysctl instead, but his fix is incomplete. The patch in the following PR has been verified (not by me) to fix the problem. Hopefully it has not been subject to bit rot over the last few months. http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/46341 FYI, the code to deal with thread stacks is completely different in 5-CURRENT, so the problem is specific to 4.X. > Similar was happening to the mysqld daemon ... Random naive question: Postgresql spawns separate processes instead of using threads, doesn't it? How has that worked out, and is it expected to change? To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message