From: Johannes Stezenbach <js@convergence.de>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: "Kevin D. Kissell" <kevink@mips.com>, linux-mips@linux-mips.org
Subject: Re: Once again: test_and_set for CPUs w/o LL/SC
Date: Wed, 16 Oct 2002 14:52:33 +0200 [thread overview]
Message-ID: <20021016125233.GA25227@convergence.de> (raw)
In-Reply-To: <Pine.GSO.3.96.1021016140828.14774I-100000@delta.ds2.pg.gda.pl>
On Wed, Oct 16, 2002 at 02:20:42PM +0200, Maciej W. Rozycki wrote:
>
> It also introduces an indirect call (jump?) overhead. Anyway, you don't
> need to sacrifice anything. We may simply assume the universally
> compatible way is the R3k one (be it sysmips() or whatever, if it gets
> replaced). Then there is the branch-likely way, which requires
> branch-likely support (thus excludes R3k-class processors). Then there is
> the ll/sc way, which requires ll/sc (thus excludes R3k-class processors
> and ones that lack the ll/sc instructions). And you select the minimum
> set of features required at the build time.
sysmips is history with current glibc since the Linux kernel emulates
LL/SC for CPUs that don't have it. This emulation is actually faster than
sysmips. (You'd think it's slower because it's one syscall vs. two
emulated instructions. But with LL/SC glibc can use test-and-set
which enables a more efficient linux-threads mutex implementation.)
AFAIK, current Linux distributions based on glibc-2.2.5 were built for
R3K be default and thus used sysmips even on platforms which have
LL/SC.
> > But all that is of interest only, if VR41XX-like platforms
> > would use a glibc from a binary distribution like RedHat or
> > Debian (I use Debian for development, but have a custom
> > compiled glibc for production use).
>
> I wouldn't care of distributions -- if one really needs optimized
> binaries it may make them be build somehow (either by doing the task
> oneself or by convincing someone else).
OK, that simplifies the issue. I will prepare a patches for
Linux and glibc.
Regards,
Johannes
next prev parent reply other threads:[~2002-10-16 12:52 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-16 16:40 Once again: test_and_set for CPUs w/o LL/SC Johannes Stezenbach
2002-10-07 14:47 ` Johannes Stezenbach
2002-10-07 16:21 ` Kevin D. Kissell
2002-10-07 16:21 ` Kevin D. Kissell
2002-10-07 18:43 ` Johannes Stezenbach
2002-10-07 18:51 ` Daniel Jacobowitz
2002-10-15 17:52 ` Johannes Stezenbach
2002-10-08 7:38 ` Kevin D. Kissell
2002-10-08 7:38 ` Kevin D. Kissell
2002-10-15 15:36 ` Maciej W. Rozycki
2002-10-15 17:21 ` Johannes Stezenbach
2002-10-16 12:20 ` Maciej W. Rozycki
2002-10-16 12:52 ` Johannes Stezenbach [this message]
2002-10-16 16:30 ` Johannes Stezenbach
2002-10-17 9:47 ` Gleb O. Raiko
2002-10-17 12:02 ` Maciej W. Rozycki
2002-10-17 13:11 ` Johannes Stezenbach
2002-10-17 13:32 ` Gleb O. Raiko
2002-10-17 14:13 ` Johannes Stezenbach
2002-10-16 18:11 ` Johannes Stezenbach
2002-10-16 18:23 ` Johannes Stezenbach
2002-10-17 11:57 ` Maciej W. Rozycki
2002-10-17 13:25 ` Johannes Stezenbach
2002-10-15 15:17 ` Maciej W. Rozycki
2002-10-15 16:50 ` Johannes Stezenbach
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=20021016125233.GA25227@convergence.de \
--to=js@convergence.de \
--cc=kevink@mips.com \
--cc=linux-mips@linux-mips.org \
--cc=macro@ds2.pg.gda.pl \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.