From owner-svn-src-all@FreeBSD.ORG Tue Dec 18 05:40:28 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7D854302; Tue, 18 Dec 2012 05:40:28 +0000 (UTC) (envelope-from gonzo@id.bluezbox.com) Received: from id.bluezbox.com (id.bluezbox.com [88.198.91.248]) by mx1.freebsd.org (Postfix) with ESMTP id 220988FC0A; Tue, 18 Dec 2012 05:40:27 +0000 (UTC) Received: from [207.6.254.8] (helo=[192.168.1.67]) by id.bluezbox.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.77 (FreeBSD)) (envelope-from ) id 1Tkpuj-000I6C-14; Mon, 17 Dec 2012 21:40:26 -0800 Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\)) Subject: Re: svn commit: r243631 - in head/sys: kern sys From: Oleksandr Tymoshenko In-Reply-To: <50C3AF72.4010902@rice.edu> Date: Mon, 17 Dec 2012 21:40:07 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <330405A1-312A-45A5-BB86-4969478D8BBD@bluezbox.com> References: <201211272119.qARLJxXV061083@svn.freebsd.org> <50C1BC90.90106@freebsd.org> <50C25A27.4060007@bluezbox.com> <50C26331.6030504@freebsd.org> <50C26AE9.4020600@bluezbox.com> <50C3A3D3.9000804@freebsd.org> <50C3AF72.4010902@rice.edu> To: Alan Cox X-Mailer: Apple Mail (2.1499) Sender: gonzo@id.bluezbox.com X-Spam-Level: -- X-Spam-Report: Spam detection software, running on the system "id.bluezbox.com", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see The administrator of that system for details. Content preview: On 2012-12-08, at 1:21 PM, Alan Cox wrote: > On 12/08/2012 14:32, Andre Oppermann wrote: >>> .. skipped .. [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Andre Oppermann X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Dec 2012 05:40:28 -0000 On 2012-12-08, at 1:21 PM, Alan Cox wrote: > On 12/08/2012 14:32, Andre Oppermann wrote: >>>=20 .. skipped .. >>=20 >> The trouble seems to come from NSFBUFS which is (512 + maxusers * 16) >> resulting in a kernel map of (512 + 400 * 16) * PAGE_SIZE =3D 27MB. = This >> seem to be pushing it with the smaller ARM kmap layout. >>=20 >> Does it boot and run when you set the tunable kern.ipc.nsfbufs=3D3500? >>=20 >> ARM does have a direct map mode as well which doesn't require the >> allocation >> of sfbufs. I'm not sure which other problems that approach has. >>=20 >=20 >=20 > Only a few (3?) platforms use it. It reduces the size of the user > address space, and translation between physical addresses and direct = map > addresses is not computationally trivial as it is on other > architectures, e.g., amd64, ia64. However, it does try to use large > page mappings. >=20 >=20 >> Hopefully alc@ (added to cc) can answer that and also why the kmap of >> 27MB >> manages to wrench the ARM kernel. >>=20 >=20 >=20 > Arm does not define caps on either the buffer map size (param.h) or = the > kmem map size (vmparam.h). It would probably make sense to copy these > definitions from i386. Adding caps didn't help. I did some digging and found out that although = address range 0xc0000000 .. 0xffffffff is indeed valid for ARM in general actual KVA = space varies for each specific hardware platform. This "real" KVA is defined by = pair and ifI use them instead of in init_param2 function my pandaboard successfully boots. Since former = pair is used for defining=20 kernel_map boundaries I believe it should be used for auto tuning as = well.=20