From: "Kevin D. Kissell" <kevink@mips.com>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: "Florian Lohoff" <flo@rfc822.org>, <debian-mips@lists.debian.org>,
<linux-mips@oss.sgi.com>
Subject: Re: first packages for mipsel
Date: Sat, 7 Apr 2001 11:05:56 +0200 [thread overview]
Message-ID: <004f01c0bf41$fe823720$0deca8c0@Ulysses> (raw)
In-Reply-To: Pine.GSO.3.96.1010406182059.15958E-100000@delta.ds2.pg.gda.pl
Maciej W. Rozycki" <macro@ds2.pg.gda.pl> wrote:
> On Fri, 6 Apr 2001, Kevin D. Kissell wrote:
>
> > What advantage would there be to using sysmips() as opposed
> > to doing the ll/sc emulation? It seems to me that the decode path
> > in the kernel would be just as fast, and there would be a single
> > "ABI" for all programs - the ll/sc instructions themselves.
>
> It was discussed a few times already. It's ugly and is an overkill for
> UP machines -- you take at least two faults for ll/sc emulation and only a
> single syscall for TAS.
Depends on your point of view. Syscalls will be faster than
emulation on processors without LL/SC support, certainly,
but much slower than just executing the instructions on processors
that do support LL/SC. Intuitively, emulation would be roughly
2x worse for an R3K, but a syscall will be 10-100 times worse
for an R4K. If we gave an equal weight to both families, that
would argue in favor of LL/SC emulation - and working for
MIPS Technologies (where all our designs for the past
10 years have supported LL/SC) I would consider equal
weighting to be very generous! ;-)
I've seen the hybrid proposal of having libc determine the LL/SC
capability of the processor and either executing the instructions
or doing the syscall as appropriate. While that would allow
near-optimal performance on all systems, I find it troublesome,
both on the principle that the OS should conceal hardware
implementation details from the user, and on the practical basis
that glibc is the last place I would want to put more CPU-specific
cruft. But reasonable people can disagree.
Kevin K.
WARNING: multiple messages have this Message-ID (diff)
From: "Kevin D. Kissell" <kevink@mips.com>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: Florian Lohoff <flo@rfc822.org>,
debian-mips@lists.debian.org, linux-mips@oss.sgi.com
Subject: Re: first packages for mipsel
Date: Sat, 7 Apr 2001 11:05:56 +0200 [thread overview]
Message-ID: <004f01c0bf41$fe823720$0deca8c0@Ulysses> (raw)
Message-ID: <20010407090556.wjRAwvpx5jsE8f3OBcshEo8Bve64GbSJtQ4Ss6kLJao@z> (raw)
In-Reply-To: Pine.GSO.3.96.1010406182059.15958E-100000@delta.ds2.pg.gda.pl
Maciej W. Rozycki" <macro@ds2.pg.gda.pl> wrote:
> On Fri, 6 Apr 2001, Kevin D. Kissell wrote:
>
> > What advantage would there be to using sysmips() as opposed
> > to doing the ll/sc emulation? It seems to me that the decode path
> > in the kernel would be just as fast, and there would be a single
> > "ABI" for all programs - the ll/sc instructions themselves.
>
> It was discussed a few times already. It's ugly and is an overkill for
> UP machines -- you take at least two faults for ll/sc emulation and only a
> single syscall for TAS.
Depends on your point of view. Syscalls will be faster than
emulation on processors without LL/SC support, certainly,
but much slower than just executing the instructions on processors
that do support LL/SC. Intuitively, emulation would be roughly
2x worse for an R3K, but a syscall will be 10-100 times worse
for an R4K. If we gave an equal weight to both families, that
would argue in favor of LL/SC emulation - and working for
MIPS Technologies (where all our designs for the past
10 years have supported LL/SC) I would consider equal
weighting to be very generous! ;-)
I've seen the hybrid proposal of having libc determine the LL/SC
capability of the processor and either executing the instructions
or doing the syscall as appropriate. While that would allow
near-optimal performance on all systems, I find it troublesome,
both on the principle that the OS should conceal hardware
implementation details from the user, and on the practical basis
that glibc is the last place I would want to put more CPU-specific
cruft. But reasonable people can disagree.
Kevin K.
next prev parent reply other threads:[~2001-04-07 9:02 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20010406130958.A14083@paradigm.rfc822.org>
2001-04-06 11:22 ` first packages for mipsel Florian Lohoff
2001-04-06 11:43 ` Kevin D. Kissell
2001-04-06 11:43 ` Kevin D. Kissell
2001-04-06 11:58 ` Florian Lohoff
2001-04-06 12:23 ` Kevin D. Kissell
2001-04-06 12:23 ` Kevin D. Kissell
2001-04-06 13:28 ` Florian Lohoff
2001-04-06 15:33 ` Kevin D. Kissell
2001-04-06 15:33 ` Kevin D. Kissell
2001-04-06 16:48 ` Maciej W. Rozycki
2001-04-06 16:40 ` Maciej W. Rozycki
2001-04-07 9:05 ` Kevin D. Kissell [this message]
2001-04-07 9:05 ` Kevin D. Kissell
2001-04-07 10:55 ` Maciej W. Rozycki
2001-04-07 15:29 ` Florian Lohoff
2001-04-09 9:48 ` Maciej W. Rozycki
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='004f01c0bf41$fe823720$0deca8c0@Ulysses' \
--to=kevink@mips.com \
--cc=debian-mips@lists.debian.org \
--cc=flo@rfc822.org \
--cc=linux-mips@oss.sgi.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox