Subject: Re: improving ssh performance on sun4m systems
To: None <port-sparc@netbsd.org>
From: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
List: port-sparc
Date: 03/16/2002 01:31:59
On Fri, Mar 15, 2002 at 14:33:26 -0500, Charles Shannon Hendrix wrote:

> On Fri, Mar 15, 2002 at 08:43:56PM +0300, Valeriy E. Ushakov wrote:
> 
> > See page 236 of Sparc V8 manual.
[...]
> > So with the overlay *all* dynamically linked programs ...
> 
> What I'm talking about is calls to things like this *outside* of a
> library.

Call to things like what?  May be my English is is not good enough to
understand what do you mean by "outside the library"?


> How about static code? 

Obviously this doesn't work for dynamic code.  We were talking
specifically about dynamically linked code (since Todd first brought
this up).


> How about functions you write yourself that are not in a library
> anywhere?

That's the point you miss.  Functions that you write yourself that are
not in the library anywhere (and those that are too) *do call* ".umul"
&co from libc.so for multiplication &co.

    volatile int a = 4, b = 3;	/* force gcc to perform the multiplication */
    main() { return (a*b); }	/* not in the library */


compiles to:

main:
        save %sp,-104,%sp
        sethi %hi(a),%o1
        ld [%o1+%lo(a)],%o0
        sethi %hi(b),%o2
        ld [%o2+%lo(b)],%o1
        call .umul,0		! <-- .umul comes from libc.so
         nop
        ret
         restore %g0,%o0,%o0


> Also, -mv8 is supposed to also do instruction ordering to speed things up.
> You can see this pretty simply by looking at the assembly output.

I'm not debating this.  I'm just trying to figure what is that
"outside the library" thing that you keep talking about and that,
afaict, is just misunderstanding on your part.

SY, Uwe
-- 
uwe@ptc.spbu.ru                         |       Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/            |       Ist zu Grunde gehen