[PATCH 13/16] powerpc: add ps3 platform lpar addressing
Geoff Levand
geoffrey.levand at am.sony.com
Mon Nov 13 13:05:06 EST 2006
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
More information about the Linuxppc-dev
mailing list