Subject: Re: very slow performance on filesystem meta-data in 1.6 -current
To: Matt Thomas <matt@3am-software.com>
From: Erik Anggard <erik.anggard@packetfront.com>
List: port-macppc
Date: 07/16/2002 12:40:48
For us disabling powersaving solved all performance issues. Compiling 
libc used to take 27 minutes, now it takes 4 minutes and 40 seconds 
which in my opinion is quite an improvement! (On the old mac it takes a 
bit more than 5 minutes, so it's an improvement over that as well).

I disabled powersaving by just commenting out the "case MPC7450" in the 
powersaving switch block in powerpc/mpc6xx/cpu_subr.c as shown in the 
diff below. Maybe you could add a config option for this (or maybe a 
sysctl)?

Thank you very much, Jason and Matt, for helping us solve this problem.

/Erik

--- cpu_subr.c  2002/07/05 18:45:22     1.23
+++ cpu_subr.c  2002/07/16 10:15:38
@@ -210,7 +210,7 @@
                break;
 
        case MPC7455:
-       case MPC7450:
+       /* case MPC7450: */
                /* Disable BTIC on 7450 Rev 2.0 or earlier */
                if ((pvr >> 16) == MPC7450 && (pvr & 0xFFFF) <= 0x0200)
                        hid0 &= ~HID0_BTIC;

Matt Thomas wrote:

> At 05:22 PM 7/15/2002, Jason R Thorpe wrote:
>
>> On Tue, Jul 16, 2002 at 02:07:46AM +0200, Erik Änggård wrote:
>>
>>  > Thanks for the tip, I'll compile a kernel with the power svaving 
>> stuff turned
>>  > off when I get to work tomorrow and see if that makes any 
>> difference. As for the
>>  > for the DOZE vs. NAP thing, if I understand the MPC7450 User's 
>> Manual correctly,
>>  > it is not possible for software to put the CPU in DOZE mode on a 
>> 7450 (as it is
>>  > on a 7410). I guess that's why the netbsd code uses NAP for 7450 
>> instead.
>>
>> Right, I understand that.  My tought in pointing it out was that perhaps
>> NAP mode is more aggressive in saving power than DOZE mode, which is why
>> you don't see this problem on the 7410.
>
>
> BTW, NAP works fine on the 7450.  But on the Xserve with a 7455 NAP 
> caused
> very long latencies for interrupts.  Disabling powersave made things work
> as expected.
>
>