Subject: Re: [PATCH 13/16] powerpc: add ps3 platform lpar addressing

From: Geoff Levand <[email-masked]>
Date: Sun, 12 Nov 2006 18:05:06 -0800

Michael Ellerman wrote:
> On Sun, 2006-11-12 at 11:45 +1100, Benjamin Herrenschmidt wrote:
>> On Sat, 2006-11-11 at 12:28 +0100, Christoph Hellwig wrote:
>> > On Fri, Nov 10, 2006 at 12:03:32PM -0800, Geoff Levand wrote:
>> > > Adds some needed bits for a config option PS3PF_USE_LPAR_ADDR that disables
>> > > the ps3pf lpar address translation mechanism.  This is a currently needed
>> > > workaround for limitations in the design of the spu support.
>> > 
>> > So make the code do the sane thing and don't put the config in the
>> > kernel tree.
>> 
>> Well... I'd like to keep the option for a little while.
>> 
>> There are performances issues with sparsemem the way it's used by
>> ps3pf.. the problem is that the memory map looks like you get a bunch of
>> memory at 0 (the RMO, not sure exactly how much in practice) and the
>> rest in a chunk all the way up the 48 bits or so max physical space.
>> 
>> So sparsemem ends up with an enormous mapping only populated at the very
>> beginning and the very end.
>> 
>> Thus, I'd like Geoff to keep the option of doing the manual translation
>> in the hash code for now until I finally get some HW and thus can do
>> some measurements, and possibly figure out a nicer way to deal with
>> that.
> 
> I haven't read the ps3 code very carefully, but at first glance it
> struck me that it has a similar problem to iSeries. It might be worth
> seeing if the iSeries mschunks_map gunk can help (see
> include/asm-powerpc/abs_addr.h)

Yes, it is essentially the same as iSeries, but since the current spu
code sets up the spu local stores as chunks of sparse memory, I still
need this for those.  To fix it properly the spu code needs to be re-worked,
and Ben said he plans to do some work there.  At that time I will reconsider
how to manage the mem regions.

As Christoph says though, this doesn't really need to be exposed as a config
option, but I wanted to include it for anyone that wanted to experiment with
it.  If you don't use spus you can save about 256KB with this option.

-Geoff