From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: Andi Kleen <andi@firstfloor.org>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
"H. Peter Anvin" <hpa@zytor.com>,
Chuck Ebbert <cebbert@redhat.com>,
Christoph Hellwig <hch@infradead.org>
Subject: Re: [patch 4/7] Immediate Values - i386 Optimization
Date: Wed, 19 Sep 2007 07:08:46 -0400 [thread overview]
Message-ID: <20070919110846.GC15500@Krystal> (raw)
In-Reply-To: <p73myvjwri3.fsf@bingen.suse.de>
* Andi Kleen (andi@firstfloor.org) wrote:
> Jeremy Fitzhardinge <jeremy@goop.org> writes:
> >
> > It's a pity that gas seems to generate plain 0x90 nops rather than
> > long-nop forms here. I thought it could do that.
>
> .p2align does it.
>
Sadly, p2align does not apply well to my context. I have to align on 4
bytes boundaries - 1 for the 4 bytes mov, so, if I would use p2align, I
would end up aligning on 4 bytes with p2align and then add 3 bytes
(worse case: adding 3 + 3 = 6 bytes of nops).
However, with the .org arithmetic, I can simply add then quantity of
nops needed to make my alignment on 4 bytes - 1, so the worse case
becomes adding 3 bytes.
The example is:
originally: address & 3 = 1
* p2align
p2align adds 3 bytes to align on 4 bytes boundaries
we add 3 bytes to align on the next 4 bytes - 1, so the immediate value
within the instruction is aligned on 4 bytes boundaries
* org
we add 2 bytes to be aligned on the next 4 bytes - 1.
And yes, it's a pity there is no way to produce the long-nops there. :(
Mathieu
> -Andi
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
next prev parent reply other threads:[~2007-09-19 11:08 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-18 21:07 [patch 0/7] Immediate Values for 2.6.23-rc6-mm1 Mathieu Desnoyers
2007-09-18 21:07 ` [patch 1/7] Immediate Values - Architecture Independent Code Mathieu Desnoyers
2007-09-18 21:07 ` [patch 2/7] Immediate Values - Kconfig menu in EMBEDDED Mathieu Desnoyers
2007-09-18 22:02 ` Randy Dunlap
2007-09-19 11:13 ` Mathieu Desnoyers
2007-09-18 21:07 ` [patch 3/7] Immediate Values - Move Kprobes i386 restore_interrupt to kdebug.h Mathieu Desnoyers
2007-09-18 21:07 ` [patch 4/7] Immediate Values - i386 Optimization Mathieu Desnoyers
2007-09-18 21:51 ` Jeremy Fitzhardinge
2007-09-18 22:12 ` H. Peter Anvin
2007-09-18 22:27 ` Jeremy Fitzhardinge
2007-09-19 13:01 ` Mathieu Desnoyers
2007-09-19 16:03 ` Mathieu Desnoyers
2007-09-19 16:12 ` H. Peter Anvin
2007-09-19 17:30 ` Jeremy Fitzhardinge
2007-09-19 17:39 ` H. Peter Anvin
2007-09-19 18:31 ` Mathieu Desnoyers
2007-09-19 18:22 ` Mathieu Desnoyers
2007-10-20 16:47 ` Mathieu Desnoyers
2007-10-20 18:32 ` H. Peter Anvin
2007-10-22 15:40 ` Mathieu Desnoyers
2007-10-22 16:39 ` H. Peter Anvin
2007-10-22 9:53 ` Andi Kleen
2007-09-19 11:00 ` Mathieu Desnoyers
2007-09-18 22:14 ` Andi Kleen
2007-09-18 22:29 ` Jeremy Fitzhardinge
2007-09-18 22:33 ` H. Peter Anvin
2007-09-18 22:44 ` Andi Kleen
2007-09-19 11:08 ` Mathieu Desnoyers [this message]
2007-09-19 11:14 ` Andi Kleen
2007-09-19 10:59 ` Mathieu Desnoyers
2007-09-20 10:24 ` Denys Vlasenko
2007-09-21 13:31 ` Mathieu Desnoyers
2007-09-18 21:07 ` [patch 5/7] Immediate Values - Powerpc Optimization Mathieu Desnoyers
2007-09-18 21:07 ` [patch 6/7] Immediate Values - Documentation Mathieu Desnoyers
2007-09-18 21:07 ` [patch 7/7] Scheduler Profiling - Use Immediate Values Mathieu Desnoyers
-- strict thread matches above, loose matches on Subject: below --
2007-09-17 18:42 [patch 0/7] " Mathieu Desnoyers
2007-09-17 18:42 ` [patch 4/7] Immediate Values - i386 Optimization Mathieu Desnoyers
2007-09-18 6:04 ` Borislav Petkov
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=20070919110846.GC15500@Krystal \
--to=mathieu.desnoyers@polymtl.ca \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=cebbert@redhat.com \
--cc=hch@infradead.org \
--cc=hpa@zytor.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@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.