[POWERPC] spufs: Always map local store non-guarded
authorArnd Bergmann <arnd@arndb.de>
Mon, 20 Nov 2006 17:45:06 +0000 (18:45 +0100)
committerPaul Mackerras <paulus@samba.org>
Mon, 4 Dec 2006 09:39:59 +0000 (20:39 +1100)
When fixing spufs to map the 'mem' file backing store cacheable,
I incorrectly set the physical mapping to use both cache-inhibited
and guarded mapping, which resulted in a serious performance
degradation.

Debugged-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/cell/spufs/file.c

index 55d7e0f..1c1af71 100644 (file)
@@ -105,11 +105,11 @@ spufs_mem_mmap_nopage(struct vm_area_struct *vma,
 
        if (ctx->state == SPU_STATE_SAVED) {
                vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
-                                       & ~(_PAGE_NO_CACHE | _PAGE_GUARDED));
+                                                       & ~_PAGE_NO_CACHE);
                page = vmalloc_to_page(ctx->csa.lscsa->ls + offset);
        } else {
                vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
-                                       | _PAGE_NO_CACHE | _PAGE_GUARDED);
+                                                       | _PAGE_NO_CACHE);
                page = pfn_to_page((ctx->spu->local_store_phys + offset)
                                   >> PAGE_SHIFT);
        }