From: Andi Kleen <ak@suse.de>
To: Benjamin LaHaise <bcrl@kvack.org>
Cc: Andi Kleen <ak@suse.de>, linux-kernel@vger.kernel.org
Subject: Re: rfc/rft: use r10 as current on x86-64
Date: Tue, 22 Nov 2005 18:10:42 +0100 [thread overview]
Message-ID: <20051122171040.GY20775@brahms.suse.de> (raw)
In-Reply-To: <20051122165204.GG1127@kvack.org>
On Tue, Nov 22, 2005 at 11:52:04AM -0500, Benjamin LaHaise wrote:
> Hello Andi et al,
>
> The patch below converts x86-64 to use r10 as the current pointer instead
> of gs:pcurrent. This results in a ~34KB savings in the code segment of
> the kernel. I've tested this with running a few regular applications,
> plus a few 32 bit binaries. If this patch is interesting, it probably
> makes sense to merge the thread info structure into the task_struct so
> that the assembly bits for syscall entry can be cleaned up. Comments?
I think you could get most of the benefit by just dropping
the volatile and "memory" from read_pda(). With that gcc would
usually CSE current into a register and it would would work essentially
the same way with only minor more .text overhead, but r10 would be still
available.
Unfortunately when that's done then the kernel doesn't boot.
It's probably something silly, but i never had time to track it down.
Might want to look into that?
Looking at your patch it might be enough to make sure all users
of current after the changes in __switch_to you did use some
other way to access it (there is unfortunately no way I know
of to make gcc flush all CSEd items without addings barriers
in the original get_current function)
-Andi
next prev parent reply other threads:[~2005-11-22 17:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-22 16:52 rfc/rft: use r10 as current on x86-64 Benjamin LaHaise
2005-11-22 17:10 ` Andi Kleen [this message]
2005-11-22 17:26 ` Benjamin LaHaise
2005-11-22 17:46 ` Brian Gerst
2005-11-22 17:55 ` Andreas Steinmetz
2005-11-23 22:48 ` Pavel Machek
2005-11-23 22:54 ` Benjamin LaHaise
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=20051122171040.GY20775@brahms.suse.de \
--to=ak@suse.de \
--cc=bcrl@kvack.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox