From: Paul Mackerras <paulus@cs.anu.edu.au>
To: dgatwood@mvista.com
Cc: Jes.Sorensen@cern.ch, Geert.Uytterhoeven@cs.kuleuven.ac.be,
linuxppc-dev@lists.linuxppc.org, linux-fbdev@vuser.vu.union.edu,
rth@cygnus.com
Subject: Re: [linux-fbdev] Re: readl() and friends and eieio on PPC
Date: Fri, 13 Aug 1999 11:51:53 +1000 [thread overview]
Message-ID: <199908130151.LAA31102@tango.anu.edu.au> (raw)
In-Reply-To: <Pine.LNX.3.96.990812115345.25431A-100000@mvista.com> (dgatwood@mvista.com)
David A. Gatwood <dgatwood@mvista.com> wrote:
> No, that's not the only argument. eieio and... isync, I think... causes
> the PPC 601 to shift one of its registers a few bits and send out an
> address only transaction using the address that results from that. I
I can understand eieio causing an address-only transaction, but the
address should just be ignored.
> can't remember which register off the top of my head. MkLinux ran into
> this in the late Pre-DR3 stage and it nearly cost us a large percentage of
> x100 support do to a hardware bug that can cause the machine to hang if an
> address only transaction is done into certain parts of the address space.
Hmmm, I didn't see any such problems with the 7200 and 7500 powermacs,
which have a 601 cpu. It's a hardware bug in the x100's memory
controller or nubus bridge, right? I guess it's lucky you actually
have some control over the address that gets put out. :-)
> The workaround is a really nasty bunch of code that creates a sizable
> performance hit by forcing that register to be cleared before the eieio
> and restored afterwards. As a result, putting eieio in those macros will
> have a _very_ major performance hit if yuo ever start supporting x100
Surely it should only take a couple of cycles to move a register to
another and clear it? I agree it's a pain though. Actually, with gcc
the asm statement that uses the eieio could just specify the register
(which one is it?) as an input and give it the value 0.
I think a resolution of this issue is going to have to involve Linus
and the whole Linux community. We may need two forms of the bus
access macros, one with the eieio's and one without. I think the
`ordinary' form should have the eieio's, though.
Paul.
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting. ]]
next prev parent reply other threads:[~1999-08-13 1:51 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-08-09 8:17 readl() and friends and eieio on PPC Geert Uytterhoeven
1999-08-09 17:19 ` David A. Gatwood
1999-08-10 1:00 ` Paul Mackerras
1999-08-10 7:18 ` [linux-fbdev] " Jes Sorensen
1999-08-11 0:23 ` Paul Mackerras
1999-08-11 7:23 ` Jes Sorensen
1999-08-11 7:38 ` Richard Henderson
1999-08-12 0:13 ` Paul Mackerras
1999-08-12 1:39 ` Peter Chang
1999-08-12 4:52 ` Paul Mackerras
1999-08-12 6:17 ` Peter Chang
1999-08-12 0:17 ` Paul Mackerras
1999-08-12 4:40 ` Richard Henderson
1999-08-12 5:00 ` Paul Mackerras
1999-08-12 5:43 ` Richard Henderson
1999-08-12 7:07 ` Paul Mackerras
1999-08-12 7:33 ` Richard Henderson
1999-08-12 9:58 ` Paul Mackerras
1999-08-12 12:31 ` Geert Uytterhoeven
1999-08-13 12:18 ` Paul Mackerras
1999-08-18 11:02 ` Gabriel Paubert
1999-08-13 18:33 ` Richard Henderson
1999-08-12 5:16 ` David Edelsohn
1999-08-12 5:27 ` Paul Mackerras
1999-08-12 5:52 ` Richard Henderson
1999-08-12 7:11 ` Paul Mackerras
1999-08-12 7:32 ` Jes Sorensen
1999-08-11 23:52 ` Paul Mackerras
1999-08-12 7:38 ` Jes Sorensen
1999-08-12 19:00 ` David A. Gatwood
1999-08-13 1:51 ` Paul Mackerras [this message]
[not found] <Pine.LNX.3.96.990813143741.27557B-100000@mvista.com>
[not found] ` <d3so5mdyta.fsf@lxp03.cern.ch>
1999-08-14 18:34 ` Geert Uytterhoeven
1999-08-14 18:36 ` David A. Gatwood
1999-08-14 19:48 ` Jes Sorensen
1999-08-15 1:28 ` David A. Gatwood
1999-08-14 21:39 ` Richard Henderson
1999-08-15 23:16 ` Paul Mackerras
1999-08-16 0:29 ` Richard Henderson
1999-08-16 7:11 ` Jes Sorensen
[not found] <m3672hkxri.fsf@soma.andreas.org>
1999-08-15 13:39 ` James Simmons
[not found] <d3pv0p72yr.fsf@lxp03.cern.ch>
1999-08-15 19:43 ` David A. Gatwood
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=199908130151.LAA31102@tango.anu.edu.au \
--to=paulus@cs.anu.edu.au \
--cc=Geert.Uytterhoeven@cs.kuleuven.ac.be \
--cc=Jes.Sorensen@cern.ch \
--cc=Paul.Mackerras@cs.anu.edu.au \
--cc=dgatwood@mvista.com \
--cc=linux-fbdev@vuser.vu.union.edu \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=rth@cygnus.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;
as well as URLs for NNTP newsgroup(s).