From: "Kevin D. Kissell" <kevink@mips.com>
To: Johannes Stezenbach <js@convergence.de>
Cc: Jun Sun <jsun@mvista.com>, linux-mips@oss.sgi.com
Subject: Re: LL/SC benchmarking [was: Mipsel libc with LL/SC online anywhere?]
Date: Thu, 25 Jul 2002 14:49:08 -0700 [thread overview]
Message-ID: <3D407254.233BE0DB@mips.com> (raw)
In-Reply-To: 20020725184519.GB9302@convergence.de
Johannes Stezenbach wrote:
>
> On Thu, Jul 25, 2002 at 10:06:55AM -0700, Jun Sun wrote:
> > Johannes Stezenbach wrote:
> > >sysmips:
> > > real 1m19.358s
> > > user 0m28.150s
> > > sys 0m47.250s
> > >
> > >LL/SC emulation:
> > > real 0m41.246s
> > > user 0m25.390s
> > > sys 0m12.240s
> > >
> > >branch-likely hack (hm, still without kernel patch...):
> > > real 0m25.126s
> > > user 0m17.240s
> > > sys 0m2.310s
> >
> > Johannes,
> >
> > This is great stuff! Can you explain what are "real", "user", and "sys"?
> > Also, what is your initial conclusion?
>
> This are results from simple 'time ./testapp' testing, so its real time
> and user/system time reported by wait(4).
>
> Also, I have an interactive gtk+directfb applicaton running. The
> difference in response time is quite noticable.
>
> On reason for the big differences is that the Glib-2.0/GObject library
> does a lot of locking in its internal type system for every object
> created. Other software might not suffer as badly from a slow mutex
> implementation.
>
> My conclusion is that it is good for glibc to always use ll/sc,
> emulated or not, and for my specific needs I will use the branch-likely
> hack. So next I will study kernel source to decide what MAGIC_COOKIE
> is best for the branch-likely hack, and where to add 'move k1,$0'
> before eret.
I am convinced that there is a value, quite possibly 0xffdadaff,
which can provably never be in k1 at the return from an exception
in a sane system - but it would be tedious to prove, and the
assumption could very easily be perturbed. I think
that adding overhead to the TLB refill handler would be
highly undesirable, but fortunately the TLB refill handler
is one of those cases where we can be sure that members
of a set of values (including 0xffdadaff) could not be
in k1 unless the system was about to crash in any case.
The prudent thing to do would be to load the MAGIC_COOKIE
value explicitly into k1 on the way out of general exception
service. Fortunately, it looks to me as if at least half
of the overhead of this operation (LUI/ORI) can be concealed
in branch/jump delay slots that are currently going unfilled.
> OTOH I doubt it's worth it to add the branch-likely hack to
> stock glibc. How many people are using Linux/MIPS on embedded
> CPU's without LL/SC?
MIPSII-but-no-LL/SC CPUs are certainly the minority as far
as distinct designs and part numbers are concerned, but
I suspect they provide the overwhelming majority of actual
MIPS/Linux platforms in use, since both NEC Vr41xx-based
handhelds and Sony PlayStation 2's fall into that category.
Someone else may have better statistics than I do, though.
Regards,
Kevin K.
next prev parent reply other threads:[~2002-07-25 21:48 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-12 13:04 Mipsel libc with LL/SC online anywhere? Kevin D. Kissell
2002-07-12 13:04 ` Kevin D. Kissell
2002-07-19 12:38 ` LL/SC benchmarking [was: Mipsel libc with LL/SC online anywhere?] Johannes Stezenbach
2002-07-19 15:54 ` Richard Hodges
2002-07-22 10:35 ` Johannes Stezenbach
2002-07-25 16:25 ` Johannes Stezenbach
2002-07-25 17:06 ` Jun Sun
2002-07-25 18:45 ` Johannes Stezenbach
2002-07-25 18:56 ` Jun Sun
2002-07-25 19:24 ` Johannes Stezenbach
2002-07-25 21:49 ` Kevin D. Kissell [this message]
2002-07-26 19:35 ` Kevin D. Kissell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D407254.233BE0DB@mips.com \
--to=kevink@mips.com \
--cc=js@convergence.de \
--cc=jsun@mvista.com \
--cc=linux-mips@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox