Unable to set cache write-thru on 7447A

From: Matthew Clark <hidden>
Date: 2008-03-04 21:56:03

I'm trying to run my 2.6.14 Gentoo distro on a 7447A system I have
with different cache configurations (ie, write back vs write thru) for
both the kernel, system apps (sshd, etc) and user apps.  I first
wanted to run entirely in Write-Thru to get a worst-case benchmark,
but after discovering (to my chagrin) that the 7447A doesn't honor the
L2CR_L2WT bit, I tried something a bit more adventurous by setting the
WIMG bits on the linux PTE's in the arch/ppc files.

Rather, I thought I would.  Nothing I've tried seems to work.

In arch/ppc/mm/ppc_mmu.c
Adding _PAGE_WRITETHRU to the _PAGE_RAM flag in the setbat calls at
lines 112 & 120 results in a kernel that won't go past the
"Uncompressing" step.

In arch/ppc/mm/pgtables.c
If I add _PAGE_WRITETHRU to the _PAGE_RAM flag in mapin_ram and
map_page allows the kernel to boot, and in fact shows no noticable
performance difference.

I found in arch/ppc/mm/hashtable.S that the linux PTE's aren't
entirely transferred into the HPTE's of the PPC, so with some
reluctance, I tried adding a line turning on WRITETHRU at line 350 in
create_hpte:

ori r8,r8,_PAGE_WRITETHRU

The kernel will come up, but init promptly dies with Signal 11.

There's little documentation on PPC Memory management & the linux
kernel, so I'm not sure what do to from here.  Can anyone help me out
here?  Thanks.

Matt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help