[POWERPC] spufs: Always map local store non-guarded
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>
This commit is contained in:
Родитель
5c3ecd659b
Коммит
932f535dd4
|
@ -105,11 +105,11 @@ spufs_mem_mmap_nopage(struct vm_area_struct *vma,
|
||||||
|
|
||||||
if (ctx->state == SPU_STATE_SAVED) {
|
if (ctx->state == SPU_STATE_SAVED) {
|
||||||
vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
|
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);
|
page = vmalloc_to_page(ctx->csa.lscsa->ls + offset);
|
||||||
} else {
|
} else {
|
||||||
vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
|
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 = pfn_to_page((ctx->spu->local_store_phys + offset)
|
||||||
>> PAGE_SHIFT);
|
>> PAGE_SHIFT);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче