Date: Sun, 14 Dec 2014 12:59:25 -0700 From: Ian Lepore <ian@freebsd.org> To: Alfred Perlstein <bright@mu.org> Cc: FreeBSD Stable <freebsd-stable@freebsd.org> Subject: Re: i386 PAE kernel works fine on 10-stable Message-ID: <1418587165.977.0.camel@freebsd.org> In-Reply-To: <847BD158-0867-4F5F-83A9-1651E77D29EF@mu.org> References: <1418579278.2026.9.camel@freebsd.org> <DB7FB000-9A82-41F5-A4BD-6806AF218F01@mu.org> <1418580756.2026.12.camel@freebsd.org> <847BD158-0867-4F5F-83A9-1651E77D29EF@mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2014-12-14 at 10:53 -0800, Alfred Perlstein wrote: > On Dec 14, 2014, at 10:12 AM, Ian Lepore wrote: >=20 > > On Sun, 2014-12-14 at 10:09 -0800, Alfred Perlstein wrote: > >> On Dec 14, 2014, at 9:47 AM, Ian Lepore wrote: > >>=20 > >>> This is an out of the blue FYI post to let people know that despite= all > >>> the misinformation you'll run across if you search for information = on > >>> FreeBSD PAE support, it (still) works just fine. I've been using i= t > >>> (for reasons related to our build system and products at $work) sin= ce > >>> 2006, and I can say unequivocally that it works fine on 6.x, 8.x, a= nd > >>> now 10.x (and presumably on the odd-numbered releases too but I've = never > >>> tried those). > >>>=20 > >>> In my most recent testing with 10-stable, I found it was compatible= with > >>> drm2 and radeonkms drivers and I was able to run Xorg and gnome jus= t > >>> fine. All my devices, and apps, and even the linuxulator worked ju= st > >>> fine. > >>>=20 > >>> One thing that changed somewhere between 8.4 and 10.1 is that I had= to > >>> add a kernel tuning option to my kernel config: > >>>=20 > >>> option KVA_PAGES=3D768 # Default is 512 > >>>=20 > >>> I suspect that the most frequent use of PAE is on laptops that have= 4gb > >>> and the default tuning is adequate for that. My desktop machine ha= s > >>> 12gb and I needed to bump up that value to avoid errors related to = being > >>> unable to create new kernel stacks. > >>>=20 > >>=20 > >> There already is a #define that is bifurcated based on PAE in pmap.h= : > >>=20 > >> #ifndef KVA_PAGES > >> #ifdef PAE > >> #define KVA_PAGES 512 > >> #else > >> #define KVA_PAGES 256 > >> #endif > >> #endif > >>=20 > >> Do you think it will harm things to apply your suggested default to = this file? > >>=20 > >=20 > > I would have to defer to someone who actually understands just what t= hat > > parm is tuning. It was purely speculation on my part that the curren= t > > default is adequate for less memory than I have, and I don't know wha= t > > that downside might be for setting it too high. > >=20 >=20 > KVA pages is the amount of pages reserved for kernel address space: >=20 > * Size of Kernel address space. This is the number of page table page= s > * (4MB each) to use for the kernel. 256 pages =3D=3D 1 Gigabyte. > * This **MUST** be a multiple of 4 (eg: 252, 256, 260, etc). > * For PAE, the page table page unit size is 2MB. This means that 512 = pages > * is 1 Gigabyte. Double everything. It must be a multiple of 8 for P= AE. >=20 > It appears that our default for PAE leaves 1GB for kernel address to pl= ay with? That's an interesting default. Wonder if it really makes sense= for PAE since the assumption is that you'll have >4GB ram in the box, wi= ring down 1.5GB for kernel would seem to make sense=85 Probably make sen= se to ask Peter or Alan on this. >=20 > Also wondering how bad it would be to make these tunables, I see they t= rickle down quite a bit into the system, hopefully not defining some stat= ic arrays, but I haven't dived down that far. >=20 > Ian, just to understand better, how much memory is in your machine? >=20 12GB. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1418587165.977.0.camel>