Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Aug 2008 19:36:26 +0200
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: UMA MD Small Allocator Runtime Switching
Message-ID:  <48A31B9A.6040705@freebsd.org>
In-Reply-To: <200808131214.43326.jhb@freebsd.org>
References:  <48981C19.8060009@freebsd.org> <200808051024.27043.jhb@freebsd.org> <48A2E62A.9060604@freebsd.org> <200808131214.43326.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote:
>
> [snipped bit about faking a direct map]
>> I thought about it, but we can only use 4K pages on the G5 so this would 
>> put a large amount of pressure on the page table. IBM removed the block 
>> translation mechanism from the G5 and the CPU's superpage support is not 
>> available in the 32-bit compatibility mode under which we currently run.
>>     
>
> Hmm, I didn't know you weren't running in full 64-bit mode.  Is that a 
> property of the G5 CPU that it only supports the 32-bit compat mode with 
> 64-bit extensions?
>   
No, it supports full 64-bit mode as well, and likes that much better. In 
fact, you have to do a fair bit of work to keep it in the compatibility 
mode: it switches to the full 64-bit mode whenever it takes a trap, for 
instance.

The initial porting target is the compatibility mode because (a) I'm 
lazy and didn't want to simultaneously do a brand new 64-bit port and 
deal with changes for the G5 and (b) it would be nice to have a single 
32-bit PPC install CD that works on all machines with 32-bit operating 
system support. It's the trying to avoid any #ifdef G5 that creates this 
problem with the UMA allocator.

I'm gotten this completely working using a bunch of dynamic switching 
stuff (I can boot multiuser and build world on both my G3 and G5 machine 
with the same kernel), but to do it I need to remove where it sets 
booted = 1 as an optimization when the MI UMA subsystem is initializing.
-Nathan




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48A31B9A.6040705>