public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
To: linux-ia64@vger.kernel.org
Subject: RE: gas is overly conservative with itc instruction
Date: Wed, 01 Mar 2006 20:09:53 +0000	[thread overview]
Message-ID: <200603012009.k21K9rg31804@unix-os.sc.intel.com> (raw)
In-Reply-To: <B05667366EE6204181EABE9C1B1C0EB506C07A07@scsmsx401.amr.corp.intel.com>

John S. Worley wrote on Wednesday, March 01, 2006 11:29 AM
>     Have you tried explicit bundling? I wouldn't rely on
> the assembler to bundle critical code like this, and the
> performance is worth the extra effort.

I suppose so. And just realize that it might be because of gcc assembler
bent backwards for sloppy kernel developer.  If we follow the software
developer manual to the teeth, the code in vhpt_miss isn't strictly
correct:

(p10)   itc.i r18                     // insert the instruction TLB entry
(p11)   itc.d r18                     // insert the data TLB entry
(p6)    br.cond.spnt.many page_fault  // handle bad address/page not present (page fault)

It misses stop bits in the source for both itc instructions.  And gas
silently fixed up the bug and forced stop bit right before insn, except
it wasn't doing a good job at collapsing multiple stop. Manually adding
stop bits to it produces desired bundling.

Even though p10 and p11 are mutually exclusive, there are no m-m-stop-i
bundle template and itc can be only issued to one of the 4 memory port,
so adding a stop bit in between won't matter anyway.

HJ, nevermind, I think we are OK.


- Ken


  parent reply	other threads:[~2006-03-01 20:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-01 18:59 gas is overly conservative with itc instruction Chen, Kenneth W
2006-03-01 19:28 ` John S. Worley
2006-03-01 20:09 ` Chen, Kenneth W [this message]
2006-03-03  1:13 ` James E Wilson

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=200603012009.k21K9rg31804@unix-os.sc.intel.com \
    --to=kenneth.w.chen@intel.com \
    --cc=linux-ia64@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox