[patch 05/18] PS3: Fix sparse warnings

Arnd Bergmann arnd at arndb.de
Thu Jun 7 00:21:59 EST 2007


On Wednesday 06 June 2007, Geoff Levand wrote:
> -       spu->local_store = ioremap(spu->local_store_phys, LS_SIZE);
> +       spu->local_store = (__force void *)ioremap(spu->local_store_phys,
> +                                                  LS_SIZE);

I haven't noticed this before, but it seems to be a preexisting bug:
You map the local_store as with the guarded page table bit set, which
causes a performance degradation when accessing the memory from kernel
space.

If you're lucky, your hypervisor knows this and will fix it up for
you, but I would replace the ioremap call with an
ioremap_flags(..., _PAGE_NO_CACHE); to be on the safe side.

If you want to measure the impact, I'd suggest timing a user space
read() on the mem file of a running SPU context.

	Arnd <><



More information about the Linuxppc-dev mailing list