[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.0.9999.0711291027070.8458@woody.linux-foundation.org>
Date: Thu, 29 Nov 2007 10:31:41 -0800 (PST)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: "H. Peter Anvin" <hpa@...or.com>
cc: Chuck Ebbert <cebbert@...hat.com>,
Roland McGrath <roland@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...e.hu>
Subject: Re: [PATCH x86/mm 6/6] x86-64 ia32 ptrace get/putreg32 current
task
On Thu, 29 Nov 2007, H. Peter Anvin wrote:
>
> The kernel uses %fs in 32-bit mode and %gs in 64-bit mode.
Yeah, thanks for reminding me about this particular insanity.
We should just make the kernel always use %gs for the percpu data. On
32-bit x86 there really is no reason to use %fs over %gs, other than the
purely historical one, and the fact that "f" is alphabetically before "g",
so it's the one you use first if you have no other preferences.
That way we can more easily share code, if the rules for fs/gs are the
same for 32-bit/64-bit code.
However, you also say:
> It is advantageous for user space to use the register the kernel
> typically won't, in order to speed up system call entry/exit.
but I'm not seeing the reason for that one. Care to comment more? (Yes,
there is often a latency from segment reload to use, but the reload
latency for system call exit *should* be entirely covered by the cost of
doing the system call return itself, no?)
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists