From: "H. Peter Anvin" <hpa@transmeta.com>
To: Jamie Lokier <lk@tantalophile.demon.co.uk>
Cc: Terje Eggestad <terje.eggestad@scali.com>,
Linus Torvalds <torvalds@transmeta.com>,
Ulrich Drepper <drepper@redhat.com>,
Matti Aarnio <matti.aarnio@zmailer.org>,
Hugh Dickins <hugh@veritas.com>,
Dave Jones <davej@codemonkey.org.uk>, Ingo Molnar <mingo@elte.hu>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: Intel P6 vs P7 system call performance
Date: Wed, 18 Dec 2002 14:39:26 -0800 [thread overview]
Message-ID: <3E00F91E.80200@transmeta.com> (raw)
In-Reply-To: <20021218222835.GA14801@bjl1.asuk.net>
Jamie Lokier wrote:
> H. Peter Anvin wrote:
>
>>Terje Eggestad wrote:
>>
>>>fd = open("/dev/vsyscall", );
>>>_vsyscall = mmap(NULL, getpagesize(), PROT_READ|PROT_EXEC, MAP_SHARED,
>>>fd, 0);
>>
>>Very ugly -- then the application has to do indirect calls.
>
>
> No it doesn't.
>
> The application, or library, would map the vsyscall page to an address
> in its own data section. This means that position-independent code
> can do vsyscalls without any relocations, and hence without dirtying
> its own caller pages.
>
Oh, I see... you don't really mean NULL in the first argument :)
This has one additional advantage: an application which wants to
override vsyscalls can simply map something instead of the kernel page,
and UML can present its own vsyscall page.
> In some ways this is better than the 0xfffe0000 address: _that_
> requires position-independent code to do indirect calls to the
> absolute address, or to dirty its caller pages.
>
> That said, you always need the page at 0xfffe0000 mapped anyway, so
> that sysexit can jump to a fixed address (which is fastest).
That's a possiblity, or if the task_struct contains the desired return
address for a particular process that might also work -- it's just a GPR
after all.
-hpa
next prev parent reply other threads:[~2002-12-18 22:31 UTC|newest]
Thread overview: 268+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-18 12:55 Intel P6 vs P7 system call performance Terje Eggestad
2002-12-18 20:14 ` H. Peter Anvin
2002-12-18 20:25 ` Richard B. Johnson
2002-12-18 20:26 ` H. Peter Anvin
2002-12-18 22:28 ` Jamie Lokier
2002-12-18 22:37 ` Linus Torvalds
2002-12-18 22:57 ` Linus Torvalds
2002-12-20 0:53 ` Daniel Jacobowitz
2002-12-20 1:47 ` Linus Torvalds
2002-12-20 2:37 ` Daniel Jacobowitz
2002-12-18 22:39 ` H. Peter Anvin [this message]
-- strict thread matches above, loose matches on Subject: below --
2003-01-10 18:08 Gabriel Paubert
2002-12-30 13:06 Manfred Spraul
2002-12-30 14:54 ` Andi Kleen
2002-12-22 15:45 Nakajima, Jun
2002-12-22 12:33 Mikael Pettersson
2002-12-22 16:00 ` Jamie Lokier
2002-12-19 18:46 billyrose
2002-12-19 16:10 billyrose
2002-12-19 15:20 bart
2002-12-19 14:57 bart
2002-12-19 14:40 billyrose
2002-12-19 15:11 ` Richard B. Johnson
2002-12-19 13:55 bart
2002-12-19 19:37 ` Linus Torvalds
2002-12-19 22:10 ` Jamie Lokier
2002-12-19 22:16 ` H. Peter Anvin
2002-12-19 22:22 ` Linus Torvalds
2002-12-19 22:26 ` H. Peter Anvin
2002-12-19 22:49 ` Linus Torvalds
2002-12-19 23:30 ` Linus Torvalds
2002-12-22 11:08 ` James H. Cloos Jr.
2002-12-22 18:49 ` Linus Torvalds
2002-12-22 19:07 ` Ulrich Drepper
2002-12-22 19:34 ` Linus Torvalds
2002-12-22 19:51 ` Ulrich Drepper
2002-12-22 20:50 ` James H. Cloos Jr.
2002-12-22 20:56 ` Ulrich Drepper
2002-12-22 19:17 ` Ulrich Drepper
2002-12-20 10:08 ` Ulrich Drepper
2002-12-20 12:06 ` Jamie Lokier
2002-12-20 16:47 ` Linus Torvalds
2002-12-20 23:38 ` Jamie Lokier
2002-12-20 23:50 ` H. Peter Anvin
2002-12-21 0:09 ` Linus Torvalds
2002-12-21 17:18 ` Jamie Lokier
2002-12-21 19:39 ` Linus Torvalds
2002-12-22 2:18 ` Jamie Lokier
2002-12-22 3:11 ` Linus Torvalds
2002-12-22 10:13 ` Ingo Molnar
2002-12-22 15:32 ` Jamie Lokier
2002-12-22 18:53 ` Linus Torvalds
2002-12-23 5:03 ` Linus Torvalds
2002-12-23 7:14 ` Ulrich Drepper
2002-12-23 23:27 ` Petr Vandrovec
2002-12-24 0:22 ` Stephen Rothwell
2002-12-24 4:10 ` Linus Torvalds
2002-12-24 8:05 ` Rogier Wolff
2002-12-24 18:51 ` Linus Torvalds
2002-12-24 21:10 ` Rogier Wolff
2002-12-27 16:14 ` Kai Henningsen
2002-12-24 19:36 ` Linus Torvalds
2002-12-24 20:20 ` Ingo Molnar
2002-12-24 20:27 ` Linus Torvalds
2002-12-24 20:31 ` Ingo Molnar
2002-12-24 20:39 ` Linus Torvalds
2002-12-28 2:05 ` H. Peter Anvin
2002-12-28 2:04 ` H. Peter Anvin
2002-12-26 7:47 ` Pavel Machek
2003-01-10 11:30 ` Gabriel Paubert
2003-01-10 17:11 ` Linus Torvalds
2002-12-22 10:23 ` Ingo Molnar
2002-12-19 13:22 bart
2002-12-19 13:38 ` Dave Jones
2002-12-19 14:22 ` Jamie Lokier
2002-12-19 16:56 ` Dave Jones
2002-12-19 19:29 ` H. Peter Anvin
2002-12-18 23:51 billyrose
2002-12-19 13:10 ` Richard B. Johnson
2002-12-18 1:30 Nakajima, Jun
2002-12-18 1:54 ` Ulrich Drepper
2002-12-18 3:36 ` H. Peter Anvin
2002-12-18 4:05 ` Linus Torvalds
2002-12-18 4:36 ` H. Peter Anvin
2002-12-18 4:07 ` Linus Torvalds
2002-12-18 4:40 ` Stephen Rothwell
2002-12-18 4:52 ` Linus Torvalds
2002-12-18 4:53 ` Andrew Morton
2002-12-18 19:12 ` Andrew Morton
2002-12-18 23:45 ` Pavel Machek
2002-12-20 3:05 ` Alan Cox
2002-12-20 4:03 ` Stephen Rothwell
2002-12-18 6:00 ` Brian Gerst
2002-12-17 16:32 Manfred Spraul
2002-12-17 17:13 ` Richard B. Johnson
2002-12-17 17:19 ` Richard B. Johnson
2002-12-17 17:37 ` Mikael Pettersson
2002-12-17 16:14 John Reiser
2002-12-17 16:01 John Reiser
[not found] <20021209193649.GC10316@suse.de.suse.lists.linux.kernel>
[not found] ` <Pine.LNX.4.44.0212161639310.1623-100000@penguin.transmeta.com.suse.lists.linux.kernel>
2002-12-17 8:56 ` Andi Kleen
2002-12-17 16:57 ` Linus Torvalds
2002-12-18 5:25 ` Brian Gerst
2002-12-18 6:06 ` Linus Torvalds
2002-12-21 11:24 ` Ingo Molnar
2002-12-21 17:28 ` Jamie Lokier
2002-12-21 16:07 ` Christian Leber
2002-12-15 8:43 scott thomason
2002-12-15 4:06 Albert D. Cahalan
2002-12-15 22:01 ` Pavel Machek
2002-12-16 7:33 ` Albert D. Cahalan
2002-12-16 11:17 ` Pavel Machek
2002-12-16 17:54 ` Mark Mielke
2002-12-16 16:07 ` Jonah Sherman
2002-12-17 4:10 ` David Schwartz
2002-12-17 8:02 ` Helge Hafting
2002-12-16 19:55 ` H. Peter Anvin
2002-12-13 21:52 Margit Schubert-While
2002-12-13 19:32 Dieter Nützel
2002-12-13 17:51 Margit Schubert-While
2002-12-11 12:48 Terje Eggestad
2002-12-11 18:50 ` H. Peter Anvin
2002-12-12 9:42 ` Terje Eggestad
2002-12-12 10:06 ` Arjan van de Ven
2002-12-12 10:31 ` Terje Eggestad
2002-12-12 19:03 ` H. Peter Anvin
2002-12-12 20:36 ` Mark Mielke
2002-12-12 20:56 ` J.A. Magallon
2002-12-12 20:12 ` Zac Hansen
2002-12-13 9:21 ` Terje Eggestad
2002-12-13 15:58 ` Ville Herva
2002-12-13 21:57 ` Terje Eggestad
2002-12-13 22:53 ` H. Peter Anvin
2002-12-12 20:56 ` Vojtech Pavlik
2002-12-09 8:30 Mike Hayward
2002-12-09 15:40 ` erich
2002-12-09 17:48 ` Linus Torvalds
2002-12-09 19:36 ` Dave Jones
2002-12-09 19:46 ` H. Peter Anvin
2002-12-28 20:37 ` Ville Herva
2002-12-29 2:05 ` Christian Leber
2002-12-30 18:22 ` Christian Leber
2002-12-30 21:22 ` Linus Torvalds
2002-12-30 11:29 ` Dave Jones
2002-12-17 0:47 ` Linus Torvalds
2002-12-17 1:03 ` Dave Jones
2002-12-17 2:36 ` Linus Torvalds
2002-12-17 5:55 ` Linus Torvalds
2002-12-17 6:09 ` Linus Torvalds
2002-12-17 6:18 ` Linus Torvalds
2002-12-19 14:03 ` Shuji YAMAMURA
2002-12-17 6:19 ` GrandMasterLee
2002-12-17 6:43 ` dean gaudet
2002-12-17 16:50 ` Linus Torvalds
2002-12-17 19:11 ` H. Peter Anvin
2002-12-17 21:39 ` Benjamin LaHaise
2002-12-17 21:41 ` H. Peter Anvin
2002-12-17 21:53 ` Benjamin LaHaise
2002-12-18 23:53 ` Pavel Machek
2002-12-19 22:18 ` H. Peter Anvin
2002-12-19 22:21 ` Pavel Machek
2002-12-19 22:23 ` H. Peter Anvin
2002-12-19 22:26 ` Pavel Machek
2002-12-19 22:30 ` H. Peter Anvin
2002-12-19 22:34 ` Pavel Machek
2002-12-19 22:36 ` H. Peter Anvin
2002-12-17 19:12 ` H. Peter Anvin
2002-12-17 19:26 ` Martin J. Bligh
2002-12-17 20:51 ` Alan Cox
2002-12-17 20:16 ` H. Peter Anvin
2002-12-17 20:49 ` Alan Cox
2002-12-17 20:12 ` H. Peter Anvin
2002-12-17 9:45 ` Andre Hedrick
2002-12-17 12:40 ` Dave Jones
2002-12-17 23:18 ` Andre Hedrick
2002-12-17 15:12 ` Alan Cox
2002-12-18 23:55 ` Pavel Machek
2002-12-19 22:17 ` H. Peter Anvin
2002-12-17 10:53 ` Ulrich Drepper
2002-12-17 11:17 ` dada1
2002-12-17 17:33 ` Ulrich Drepper
2002-12-17 17:06 ` Linus Torvalds
2002-12-17 17:55 ` Ulrich Drepper
2002-12-17 18:01 ` Linus Torvalds
2002-12-17 19:23 ` Alan Cox
2002-12-17 18:48 ` Ulrich Drepper
2002-12-17 19:19 ` H. Peter Anvin
2002-12-17 19:44 ` Alan Cox
2002-12-17 19:52 ` Richard B. Johnson
2002-12-17 19:54 ` H. Peter Anvin
2002-12-17 19:58 ` Linus Torvalds
2002-12-18 7:20 ` Kai Henningsen
2002-12-17 18:49 ` Linus Torvalds
2002-12-17 19:09 ` Ross Biro
2002-12-17 21:34 ` Benjamin LaHaise
2002-12-17 21:36 ` H. Peter Anvin
2002-12-17 21:50 ` Benjamin LaHaise
2002-12-18 23:59 ` Pavel Machek
2002-12-17 16:12 ` Hugh Dickins
2002-12-17 16:33 ` Richard B. Johnson
2002-12-17 17:47 ` Linus Torvalds
2002-12-17 16:54 ` Hugh Dickins
2002-12-17 17:07 ` Linus Torvalds
2002-12-17 17:19 ` Matti Aarnio
2002-12-17 17:55 ` Linus Torvalds
2002-12-17 18:24 ` Linus Torvalds
2002-12-17 18:33 ` Ulrich Drepper
2002-12-17 18:30 ` Ulrich Drepper
2002-12-17 19:04 ` Linus Torvalds
2002-12-17 19:19 ` Ulrich Drepper
2002-12-17 19:28 ` Linus Torvalds
2002-12-17 19:32 ` H. Peter Anvin
2002-12-17 19:44 ` Linus Torvalds
2002-12-17 19:53 ` Ulrich Drepper
2002-12-17 20:01 ` Linus Torvalds
2002-12-17 20:17 ` Ulrich Drepper
2002-12-18 4:15 ` Linus Torvalds
2002-12-18 4:15 ` Linus Torvalds
2002-12-18 4:39 ` H. Peter Anvin
2002-12-18 4:49 ` Linus Torvalds
2002-12-18 6:38 ` Linus Torvalds
2002-12-18 13:17 ` Richard B. Johnson
2002-12-18 13:40 ` Horst von Brand
2002-12-18 13:47 ` Sean Neakums
2002-12-18 14:10 ` Horst von Brand
2002-12-18 14:51 ` dada1
2002-12-18 19:12 ` Mark Mielke
2002-12-18 15:52 ` Alan Cox
2002-12-18 16:41 ` Dave Jones
2002-12-18 18:41 ` Horst von Brand
2002-12-17 19:26 ` Alan Cox
2002-12-17 18:57 ` Ulrich Drepper
2002-12-17 19:10 ` Linus Torvalds
2002-12-17 19:21 ` H. Peter Anvin
2002-12-17 19:37 ` Linus Torvalds
2002-12-17 19:43 ` H. Peter Anvin
2002-12-17 20:07 ` Matti Aarnio
2002-12-17 20:10 ` H. Peter Anvin
2002-12-17 19:59 ` Matti Aarnio
2002-12-17 20:06 ` Ulrich Drepper
2002-12-17 20:35 ` Daniel Jacobowitz
2002-12-18 0:20 ` Linus Torvalds
2002-12-18 0:38 ` Ulrich Drepper
2002-12-18 7:41 ` Kai Henningsen
2002-12-18 13:00 ` Rogier Wolff
2002-12-17 19:47 ` Dave Jones
2002-12-18 12:57 ` Rogier Wolff
2002-12-19 0:14 ` Pavel Machek
2002-12-17 21:38 ` Benjamin LaHaise
2002-12-17 21:41 ` H. Peter Anvin
2002-12-17 18:39 ` Jeff Dike
2002-12-17 19:05 ` Linus Torvalds
2002-12-18 5:34 ` Jeremy Fitzhardinge
2002-12-18 5:38 ` H. Peter Anvin
2002-12-18 15:50 ` Alan Cox
2002-12-18 23:51 ` Pavel Machek
2002-12-13 15:45 ` William Lee Irwin III
2002-12-13 16:49 ` Mike Hayward
2002-12-14 0:55 ` GrandMasterLee
2002-12-14 4:41 ` Mike Dresser
2002-12-14 4:53 ` Mike Dresser
2002-12-14 10:01 ` Dave Jones
2002-12-14 17:48 ` Mike Dresser
2002-12-14 18:36 ` GrandMasterLee
2002-12-15 2:03 ` J.A. Magallon
2002-12-15 21:59 ` Pavel Machek
2002-12-15 22:37 ` William Lee Irwin III
2002-12-15 22:43 ` Pavel Machek
2002-12-09 7:01 Samium Gromoff
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=3E00F91E.80200@transmeta.com \
--to=hpa@transmeta.com \
--cc=davej@codemonkey.org.uk \
--cc=drepper@redhat.com \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lk@tantalophile.demon.co.uk \
--cc=matti.aarnio@zmailer.org \
--cc=mingo@elte.hu \
--cc=terje.eggestad@scali.com \
--cc=torvalds@transmeta.com \
/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.