Unable to set cache write-thru on 7447A

Matthew Clark linux.matthew at gmail.com
Wed Mar 5 08:56:03 EST 2008


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



More information about the Linuxppc-dev mailing list