From: Andi Kleen <andi@firstfloor.org>
To: Avi Kivity <avi@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
Andi Kleen <andi@firstfloor.org>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: fyi: gcc33-hammer crashes when compiling kvm emulate.c
Date: Wed, 27 Oct 2010 19:00:23 +0200 [thread overview]
Message-ID: <20101027170023.GA22171@basil.fritz.box> (raw)
In-Reply-To: <4CC803DD.2010508@redhat.com>
> Would be good to have __fastpath and __slowpath function attributes.
>
> __fastpath would always be optimized for speed, __slowpath always
> for size, and everything else would use the default (determined by
> CONFIG_CC_OPTIMIZE_FOR_SIZE).
>
> Looks like gcc has support for this, with __attribute__((hot)),
> __attribute__((cold)), and __attribute__((optimize)).
I had patches for a long time, but last time I tried it didn't help too much.
(basically make __init hot/cold and mark a few functions)
Similar things can be also done with unrolling. The Optimize attribute
is currently quite broken in gcc and shouldn't be used.
The main reason I didn't post them is that I didn't want another
likely/unlikely with people sprinkling them randomly and never
looking at profile logs. I am to blame for likely()/unlikely() originally
and it got abused so much that I regretted it alot. So I don't
think just exposing that is a good idea right now.
I think there are some other ways to do that better, but they
will need more work.
-Andi
--
ak@linux.intel.com -- Speaking for myself only.
prev parent reply other threads:[~2010-10-27 17:00 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-26 12:38 fyi: gcc33-hammer crashes when compiling kvm emulate.c Andi Kleen
2010-10-26 16:34 ` H. Peter Anvin
2010-10-26 16:37 ` Andi Kleen
2010-10-26 16:46 ` H. Peter Anvin
2010-10-26 17:01 ` Andi Kleen
2010-10-26 18:19 ` H. Peter Anvin
2010-10-26 20:27 ` Andi Kleen
2010-10-26 20:37 ` H. Peter Anvin
2010-10-27 10:50 ` Avi Kivity
2010-10-27 17:00 ` Andi Kleen [this message]
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=20101027170023.GA22171@basil.fritz.box \
--to=andi@firstfloor.org \
--cc=avi@redhat.com \
--cc=hpa@zytor.com \
--cc=kvm@vger.kernel.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.