Disabling L1 D-cache and side effects

Tirumala Reddy Marri tmarri at amcc.com
Wed Oct 1 08:26:55 EST 2008


Ben,
    I got to bring up Linux on one of the 440 processors with out L1
dcache to do some bench marking  and compare with  L1 d-cache enabled.  

I am avoiding any references to dcbz ,dcbt and dcbst .   Also the TLB's
are created with cache inhibited. I looked at lwarx/stwcx description,
there seem to be no dependency on L1 cache.

I don't see any critical exceptions or traps. All I  see is /init/bin
failing to execute because data is corrupted. 

Thanks,
Marri


-----Original Message-----
From: Benjamin Herrenschmidt [mailto:benh at kernel.crashing.org] 
Sent: Tuesday, September 30, 2008 2:31 PM
To: Tirumala Reddy Marri
Cc: Olof Johansson; linuxppc-dev at ozlabs.org
Subject: RE: Disabling L1 D-cache and side effects

On Tue, 2008-09-30 at 09:57 -0700, Tirumala Reddy Marri wrote:
> Ben,
>   Thanks for the response. I am wondering how user space would get 
> affected by absence of L1 Dcache.

You didn't answer my question :-)

Well, as I said, things like lwarx/stwcx not working, dcbz taking
alignment exceptions, etc...

Ben.

> Thanks,
> Marri
> 
> -----Original Message-----
> From: Benjamin Herrenschmidt [mailto:benh at kernel.crashing.org]
> Sent: Tuesday, September 30, 2008 12:16 AM
> To: Tirumala Reddy Marri
> Cc: Olof Johansson; linuxppc-dev at ozlabs.org
> Subject: RE: Disabling L1 D-cache and side effects
> 
> On Mon, 2008-09-29 at 14:38 -0700, Tirumala Reddy Marri wrote:
> > Could you please point me to the which does the Critical error 
> > (Machine
> > Check) recovery. BTW I am successful booting the Linux until rootfs 
> > is
> 
> > being mounted. It fails to mount the Linux saying that blocks are 
> > corrupted in file system. I had to modify lots of initial bring up 
> > code to disable D-cache and make sure all TLB's are cache inhibited.
> > Ando also made sure none of the misc_32.S , entry_32.S and head.S 
> > makes any references to d-cache.
> 
> Why the heck are you doing that btw ? AFAIK, as Olof says, things like

> atomic operations will not work, dcbz neither etc... it's likely that 
> even if you manage to plaster around all of this in the kernel, 
> whatever userspace code you'll try to run in userspace will blow up
too...
> 
> Cheers,
> Ben.




More information about the Linuxppc-dev mailing list