Can you give details on exactly what you're talking about measuring
here?  Your numbers seem way off.  For example, with Metrowerks
using no OS, the following for loop:

  for( i = 0; i < 100000; i++ )
  {
    j = k+l;    //K + L
    k = j | l;  //J | L
  }

compiles to:

TestFunction1+0x28:     7fdde214 add    r30,r29,r28
TestFunction1+0x2c:     7fdde378 or     r29,r30,r28
TestFunction1+0x30:     3bff0001 addi   r31,r31, 0x1
TestFunction1+0x34:     3c600002 addis  r3,r0,0x2
TestFunction1+0x38:     386386a0 addi   r3,r3,-0x7960
TestFunction1+0x3c:     7c1f1800 cmp    0,r31,r3
TestFunction1+0x40:     4180ffe8 bc     0xc,0,TestFunction1+0x28

for just the loop.  Executing it with the caches off gives you:

Test Function 1, For loop (7 instructions per cycle)
End tick:       125354158
Start tick:     125003298
Diff    :       350860
# clks  :       5613760
Clocks per cycle        :56

With the caches on you get:

Test Function 1, For loop (7 instructions per cycle)
End tick:       176033722
Start tick:     175983715
Diff    :       50007
# clks  :       800112
Clocks per cycle        :8

It takes 8 clocks per cycle because of the bubble 
introduced by the branch at TestFunction1+0x40.

I suspect that your caches are turned off, or that you have not
set ICTRL to 0x7 to disable serialization.  Also check to
make sure that your UPM tables are up to snuff.

PS - With ICTRL set to 0x0, and no caches, the loop takes
68 clocks per cycle.  With caches, 26 clocks.  So be
sure that your code set ICTRL to 0x7, since it comes up
out of reset as 0x0.  In fact, if you compare your VxWorks
numbers against your Linux numbers, the difference is ~8.5,
which is the difference between ICTRL=0 W/no caches, and
ICTRL=0x7 W/caches.



[EMAIL PROTECTED] wrote:
> 
> RTLinux should run on an 860. Try the PPC V3 release.
> 
> On Wed, Mar 29, 2000 at 09:25:24PM +0800, shaolin zhang wrote:
> > Hi,
> >
> > Does anyone have test the performance of linux run on an MPC860 board? We have do 
>such a
> > test find that linux is very very slowly. Compare with pSOS and VxWorks the result 
>is can't accepted by our boss. and RTLinux cann't run on an 860 now, anyboday has a 
>good idea about it?
> >
> > some result is:
> >                                  Linux              pSOS          VxWorks
> >
> > for(;;) for local variable:      0.52  usec/times  23.81 usec/times  4.79 
>usec/times
> > for(;;) for global variable:     0.48  usec/times  9.58  usec/times  3.99 
>usec/times
> > while() for local variable:      0.57  usec/times  11.90 usec/times  5.78 
>usec/times
> > while() for global variable:     0.445 usec/times  11.90 usec/times  3.97 
>usec/times
> >
> >
> 
> --
> ---------------------------------------------------------
> Victor Yodaiken
> FSMLabs:  www.fsmlabs.com  www.rtlinux.com
> FSMLabs is a servicemark and a service of
> VJY Associates L.L.C, New Mexico.
> 
> ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to