From: Rob Gardner <rob.gardner@oracle.com>
To: sparclinux@vger.kernel.org
Subject: Re: Bisected: RED State Exception in 4.5 on E420R
Date: Thu, 28 Apr 2016 22:54:29 +0000 [thread overview]
Message-ID: <572294A5.50201@oracle.com> (raw)
In-Reply-To: <alpine.LRH.2.20.1604061729350.16827@math.ut.ee>
On 04/28/2016 02:10 PM, David Miller wrote:
> From: Sam Ravnborg <sam@ravnborg.org>
> Date: Thu, 28 Apr 2016 21:49:39 +0200
>
>>> diff --git a/arch/sparc/kernel/fpu_traps.S b/arch/sparc/kernel/fpu_traps.S
>>> index a686482..336d275 100644
>>> --- a/arch/sparc/kernel/fpu_traps.S
>>> +++ b/arch/sparc/kernel/fpu_traps.S
>>> @@ -100,8 +100,8 @@ do_fpdis:
>>> fmuld %f0, %f2, %f26
>>> faddd %f0, %f2, %f28
>>> fmuld %f0, %f2, %f30
>>> - b,pt %xcc, fpdis_exit
>>> - nop
>>> + ba,a,pt %xcc, fpdis_exit
>>> +
>> My sparc assembler foo is not good.
>> And I could not find any references to "b," branch instructions.
>> So I assume the "b," is equivalent to "ba,".
>> Which makes this good as the code now uses a documented variant.
> In v9, 'b' got changed into 'ba'. There is no difference except that
> with 'ba' you can add the prediction tags like ",pt" and ",pnt".
>
>>> add %g1, 1, %g1
>>> - mov SUN4V_CHIP_SPARC64X, %g4
>>> ba,pt %xcc, 5f
>>> - nop
>>> + mov SUN4V_CHIP_SPARC64X, %g4
>> Nice..
>> Maybe we could have done so in mor places, but I did not spot them.
> I tried to find more low hanging fruit, if you do end up spotting some
> more let me know. :-)
>
It's good to free up a few bytes here and there, but I think we're going
to need to go further than this in the near future since code in this
tiny region between 404000 and 0x408000 is going to grow. For example,
code to check for new cpu chips is always being added. Also, new code
such as Khalid's ADI patch adds a new exception handler for memory
corruption detection.
Having run into this problem myself, I tried to understand why all this
code needed to be squeezed into this small area, and as best I could
determine, it was just an attempt to not "waste" the space. So why
couldn't some of the code be moved to the region after the trap table?
As long as code in the trap table can reach (in the branch displacement
sense) all the code it needs to, is there any problem with moving
things? For instance, there is a list of includes beginning with
"etrap_64.S", and one or more of those can be moved to after the include
"ttable_64.S", which will free up a chunk of space immediately.
Rob Gardner
next prev parent reply other threads:[~2016-04-28 22:54 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-07 8:22 Bisected: RED State Exception in 4.5 on E420R Meelis Roos
2016-04-11 3:45 ` David Miller
2016-04-27 13:21 ` Meelis Roos
2016-04-27 19:33 ` David Miller
2016-04-27 19:36 ` David Miller
2016-04-27 19:46 ` Rob Gardner
2016-04-27 19:55 ` Meelis Roos
2016-04-27 20:01 ` David Miller
2016-04-27 20:02 ` David Miller
2016-04-27 20:06 ` Rob Gardner
2016-04-27 20:22 ` David Miller
2016-04-27 20:49 ` Sam Ravnborg
2016-04-27 20:52 ` David Miller
2016-04-27 20:53 ` David Miller
2016-04-28 4:58 ` Joerg Abraham
2016-04-28 17:26 ` mroos
2016-04-28 17:38 ` David Miller
2016-04-28 19:49 ` Sam Ravnborg
2016-04-28 20:10 ` David Miller
2016-04-28 20:57 ` Sam Ravnborg
2016-04-28 22:54 ` Rob Gardner [this message]
2016-04-29 0:16 ` Julian Calaby
2016-05-01 23:36 ` David Miller
2016-05-01 23:41 ` David Miller
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=572294A5.50201@oracle.com \
--to=rob.gardner@oracle.com \
--cc=sparclinux@vger.kernel.org \
/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.