linux-mips
[Top] [All Lists]

Re: weird sb1250 behavior

To: "Kevin D. Kissell" <kevink@mips.com>
Subject: Re: weird sb1250 behavior
From: jamal <hadi@cyberus.ca>
Date: 28 May 2004 16:15:52 -0400
Cc: linux-mips@linux-mips.org, sibyte-users@bitmover.com
In-reply-to: <01ea01c444f0$03d6b8e0$10eca8c0@grendel>
Organization: jamalopolis
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1085773008.1029.59.camel@jzny.localdomain> <01ea01c444f0$03d6b8e0$10eca8c0@grendel>
Reply-to: hadi@cyberus.ca
Sender: linux-mips-bounce@linux-mips.org
I did attach that; but here goes again in case something stripped it
off. If it doesnt make it let me know and i will post a URL instead.
1) while-init-dis is for case 1 where c is initialized
2) while-noinit-dis is for case 2 where c is not initialize
3) while-nop-dis is for case 3 when you have nop thrown in. 

cheers,
jamal

On Fri, 2004-05-28 at 16:11, Kevin D. Kissell wrote:
> This could be any one of a number of wierd effects that one sees
> from time to time.  Rather than speculate, would it be too much
> to ask you to run objdump --disassemble on the different versions
> of your test program and post the results?
> 
> ----- Original Message ----- 
> From: "jamal" <hadi@cyberus.ca>
> To: <linux-mips@linux-mips.org>
> Cc: <sibyte-users@bitmover.com>
> Sent: Friday, May 28, 2004 21:36
> Subject: weird sb1250 behavior
> 
> 
> > 
> > found some very strange behavior with sb1250.
> > Gcc 3.2.3 with sibyte mods. Running Linux 2.4.21 with whatever
> > mods off sibyte.
> > 
> > Testcase:
> > sending a large amount of traffic 
> > -->eth0-->someprocessing-->eth1
> > 
> > given the nature of processing, say i was getting 100Kpps throughput.
> > Now i fire a very basic program that has just loops and forever
> > sums up two numbers.
> > 
> > ---
> >       1 #include <stdlib.h>
> >       2 
> >       3 int main ()
> >       4 {
> >       5         int a = 1;
> >       6         int b = 2;
> >       7         int c = 0; 
> >       8         // int c;
> >       9         while (1) {
> >      10                 c = a + b;
> >      11         }
> >      12 }
> > --------
> > 
> > I see very little drop in throughput - probably around 0.01%.
> > 
> > Now comment line 7 then uncomment line 8. Hallelujah.
> > Perfomance drops to about 100pps. Thats about a factor of 1000 down!
> > 
> > Interesting thing is if you add a nop (__asm__ __volatile__("nop");)
> > in the second version just before the while loop, we get back the same
> > performance as in the earlier version.
> > Apologies in advance for attaching objdumps (since there maybe folks who
> > dont have access to the sibyte tools)
> > 1) while-init-dis is for case 1 where c is initialized
> > 2) while-noinit-dis is for case 2 where c is not initialize
> > 3) while-nop-dis is for case 3 when you have nop thrown in.
> > 
> > 
> > cheers,
> > jamal
> > 
> > 
> 

Attachment: while-init-dis
Description: Text document

Attachment: while-noinit-dis
Description: Text document

Attachment: while-nop-dis
Description: Text document

<Prev in Thread] Current Thread [Next in Thread>