All of lore.kernel.org
 help / color / mirror / Atom feed
From: Coywolf Qi Hunt <coywolf@gmail.com>
To: "cutaway@bellsouth.net" <cutaway@bellsouth.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [RFC] exit_thread() speedups in x86 process.c
Date: Tue, 14 Jun 2005 11:08:12 +0800	[thread overview]
Message-ID: <2cd57c9005061320084de5d80d@mail.gmail.com> (raw)
In-Reply-To: <000b01c5707e$c189c930$2800000a@pc365dualp2>

On 6/14/05, cutaway@bellsouth.net <cutaway@bellsouth.net> wrote:
> In the current exit_thread() implementation, it appears including the I/O
> port map tear down code within the exit_thread() generates enough autovar
> data that the compiler needs to spill 4 registers to the stack resulting in
> (4) PUSH on entry and (4) POP on exit.
> 
> When I tried extracting the map teardown into a seperate function, the
> situation changed dramatically to where NO REGISTERS were being
> pushed/popped in the normal path entry/exit.
> 
> Below is the original generated code, code my proposal generated, and an
> #ifdef'd change that produced this elimination of the PUSH/POP's.
> 
> Unless I'm on drugs, this looks like a solid winner in a fairly important
> code path :)


I see the effect, But I think it would be better to leave the job to
gcc to generate better code for unlikely, imho.

-- 
Coywolf Qi Hunt
http://ahbl.org/~coywolf/

  reply	other threads:[~2005-06-14  3:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-14  1:16 [RFC] exit_thread() speedups in x86 process.c cutaway
2005-06-14  3:08 ` Coywolf Qi Hunt [this message]
2005-06-14  4:26   ` cutaway
2005-06-14  7:43     ` Denis Vlasenko
  -- strict thread matches above, loose matches on Subject: below --
2005-06-22  5:48 Chuck Ebbert
2005-06-22  8:41 ` cutaway
2005-07-02  2:57 Chuck Ebbert
2005-07-02 11:56 ` Denis Vlasenko
2005-07-03 19:59   ` cutaway
     [not found] <200507012258_MC3-1-A340-3A81@compuserve.com.suse.lists.linux.kernel>
     [not found] ` <200507021456.40667.vda@ilport.com.ua.suse.lists.linux.kernel>
2005-07-03 16:05   ` Andi Kleen
2005-07-05 18:30 William Cohen

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=2cd57c9005061320084de5d80d@mail.gmail.com \
    --to=coywolf@gmail.com \
    --cc=cutaway@bellsouth.net \
    --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.