From: Ingo Molnar <mingo@elte.hu>
To: Roland McGrath <roland@redhat.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, Andi Kleen <ak@suse.de>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Rusty Russell <rusty@rustcorp.com.au>,
Jan Beulich <jbeulich@novell.com>
Subject: Re: [patch] paravirt: VDSO page is essential
Date: Tue, 6 Mar 2007 09:34:49 +0100 [thread overview]
Message-ID: <20070306083449.GA12511@elte.hu> (raw)
In-Reply-To: <20070305225859.236021800E5@magilla.sf.frob.com>
* Roland McGrath <roland@redhat.com> wrote:
> > Jan Beulich just posted a patch to do just this - relocate the
> > vdso's ELF header. If that's all that's really required to keep
> > COMPAT_VDSO viable under PARAVIRT, then it seems like the way to go.
>
> I found
> http://marc.theaimsgroup.com/?l=xen-devel&m=117309332600075&w=2 and
> that must be the one you meant. The ELF-grokking form of that is
> exactly what I had in mind. The "find relocs with cmp" scheme is
> pretty silly, but also works fine. It trades tweaky ELF knowledge
> with tweaky fragile build methods, but it's all about the same to me.
this looks good to me too in principle, the #else branch. But the actual
implementation will have to be redone quite a bit i fear. Some details:
relocate_vdso() needs some major coding style cleanups. This bit:
-# define VDSO_PRELINK VDSO_HIGH_BASE
+# ifndef CONFIG_XEN
+# define VDSO_PRELINK VDSO_HIGH_BASE
+# else
+# define VDSO_PRELINK (0UL - FIX_VDSO * PAGE_SIZE)
+# endif
should be Kconfig driven, not #ifdef driven, due to cleanliness and also
because lguest wants to have the same thing. Plus:
+#if defined(CONFIG_XEN) && defined(CONFIG_COMPAT_VDSO)
i'd just make this depend on CONFIG_COMPAT_VDSO, always. Same here:
+#if defined(CONFIG_XEN) && defined(CONFIG_COMPAT_VDSO)
+static void __init relocate_vdso
just make this driven in the normal CONFIG_COMPAT_VDSO case too - even
though we 'prelink' the VDSO to the usual address - we better run
through the same code all the time and reduce the number of variants as
much as possible.
furthermore, there should be a paravirt_ops method to chose the
relocation address, unless i'm missing something. On the native kernel
that address will default to 0xffffe000. (if CONFIG_COMPAT_VDSO is
selected)
this way there will only be two main variants to worry about: compat and
modern (which is the current status quo anyway), instead of 4-5
variants.
Ingo
next prev parent reply other threads:[~2007-03-06 8:35 UTC|newest]
Thread overview: 123+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-05 12:06 [patch] paravirt: VDSO page is essential Ingo Molnar
2007-03-05 12:36 ` Avi Kivity
2007-03-05 12:40 ` Ingo Molnar
2007-03-05 13:00 ` Avi Kivity
2007-03-05 13:32 ` Rusty Russell
2007-03-05 14:28 ` Andi Kleen
2007-03-05 13:48 ` Ingo Molnar
2007-03-05 14:58 ` Andi Kleen
2007-03-05 13:59 ` Ingo Molnar
2007-03-05 14:10 ` Avi Kivity
2007-03-05 14:10 ` Ingo Molnar
2007-03-05 13:28 ` Rusty Russell
2007-03-05 13:38 ` Ingo Molnar
2007-03-05 14:34 ` Andi Kleen
2007-03-05 13:46 ` [patch] paravirt: re-enable COMPAT_VDSO Ingo Molnar
2007-03-05 13:48 ` [patch] paravirt: VDSO page is essential Ingo Molnar
2007-03-05 20:11 ` Zachary Amsden
2007-03-05 20:11 ` Zachary Amsden
2007-03-05 20:16 ` Andi Kleen
2007-03-05 20:33 ` Zachary Amsden
2007-03-05 20:19 ` Ingo Molnar
2007-03-05 20:19 ` Ingo Molnar
2007-03-05 20:42 ` Zachary Amsden
2007-03-05 20:42 ` Zachary Amsden
2007-03-06 0:57 ` Rusty Russell
2007-03-06 1:03 ` Zachary Amsden
2007-03-06 1:11 ` Rusty Russell
2007-03-06 1:11 ` Rusty Russell
2007-03-06 1:14 ` Jeremy Fitzhardinge
2007-03-06 1:51 ` Zachary Amsden
2007-03-06 1:53 ` Jeremy Fitzhardinge
2007-03-06 1:53 ` Jeremy Fitzhardinge
2007-03-06 8:19 ` Xen & VMI? Ingo Molnar
2007-03-06 8:19 ` Ingo Molnar
2007-03-06 8:37 ` Gerd Hoffmann
2007-03-06 8:48 ` Zachary Amsden
2007-03-06 8:52 ` Ingo Molnar
2007-03-06 8:52 ` Ingo Molnar
2007-03-06 9:03 ` Zachary Amsden
2007-03-06 9:03 ` Zachary Amsden
2007-03-06 9:10 ` Ingo Molnar
2007-03-06 9:10 ` Ingo Molnar
2007-03-06 9:15 ` Gerd Hoffmann
2007-03-06 9:15 ` Gerd Hoffmann
2007-03-06 9:34 ` Ingo Molnar
2007-03-06 10:15 ` Gerd Hoffmann
2007-03-06 10:15 ` Gerd Hoffmann
2007-03-06 10:26 ` Ingo Molnar
2007-03-06 10:26 ` Ingo Molnar
2007-03-06 11:04 ` Gerd Hoffmann
2007-03-06 11:59 ` Ingo Molnar
2007-03-06 12:34 ` Gerd Hoffmann
2007-03-06 15:03 ` Anthony Liguori
2007-03-06 15:03 ` Anthony Liguori
2007-03-06 17:17 ` Nakajima, Jun
2007-03-06 17:17 ` Nakajima, Jun
2007-03-06 17:32 ` Anthony Liguori
2007-03-06 20:37 ` Ingo Molnar
2007-03-06 21:02 ` Jeremy Fitzhardinge
2007-03-06 21:02 ` Jeremy Fitzhardinge
2007-03-06 21:11 ` Ingo Molnar
2007-03-06 21:11 ` Ingo Molnar
2007-03-06 21:13 ` Jeremy Fitzhardinge
2007-03-06 21:13 ` Jeremy Fitzhardinge
2007-03-06 21:20 ` Ingo Molnar
2007-03-06 21:20 ` Ingo Molnar
2007-03-06 21:46 ` Jeremy Fitzhardinge
2007-03-06 21:46 ` Jeremy Fitzhardinge
2007-03-06 21:35 ` Nakajima, Jun
2007-03-06 21:35 ` Nakajima, Jun
2007-03-07 0:44 ` Rusty Russell
2007-03-07 0:54 ` Anthony Liguori
2007-03-07 0:54 ` Anthony Liguori
2007-03-07 3:06 ` Zachary Amsden
2007-03-07 8:15 ` Ingo Molnar
2007-03-07 8:15 ` Ingo Molnar
2007-03-07 9:17 ` Zachary Amsden
2007-03-07 11:15 ` Thomas Gleixner
2007-03-07 19:14 ` Dan Hecht
2007-03-06 16:27 ` Jeremy Fitzhardinge
2007-03-06 17:11 ` Ingo Molnar
2007-03-06 17:33 ` Jeremy Fitzhardinge
2007-03-07 2:16 ` Zachary Amsden
2007-03-07 2:16 ` Zachary Amsden
2007-03-06 9:55 ` Avi Kivity
2007-03-06 10:23 ` Gerd Hoffmann
2007-03-06 10:31 ` Ingo Molnar
2007-03-06 19:46 ` Chris Wright
2007-03-06 19:46 ` Chris Wright
2007-03-06 20:30 ` Ingo Molnar
2007-03-06 20:30 ` Ingo Molnar
2007-03-06 20:53 ` Chris Wright
2007-03-06 21:03 ` Ingo Molnar
2007-03-06 21:03 ` Ingo Molnar
2007-03-06 21:28 ` Chris Wright
2007-03-06 21:28 ` Chris Wright
2007-03-07 2:35 ` Zachary Amsden
2007-03-07 2:35 ` Zachary Amsden
2007-03-06 9:07 ` Jeremy Fitzhardinge
2007-03-06 9:07 ` Jeremy Fitzhardinge
2007-03-06 9:26 ` Ingo Molnar
2007-03-06 9:26 ` Ingo Molnar
2007-03-06 16:42 ` Jeremy Fitzhardinge
2007-03-06 16:42 ` Jeremy Fitzhardinge
2007-03-06 17:18 ` Ingo Molnar
2007-03-06 17:18 ` Ingo Molnar
2007-03-06 18:04 ` Jeremy Fitzhardinge
2007-03-06 18:04 ` Jeremy Fitzhardinge
2007-03-06 7:35 ` [patch] paravirt: VDSO page is essential Ingo Molnar
2007-03-06 7:35 ` Ingo Molnar
2007-03-06 7:42 ` Zachary Amsden
2007-03-06 7:50 ` Ingo Molnar
2007-03-06 7:50 ` Ingo Molnar
2007-03-06 18:48 ` Jeremy Fitzhardinge
2007-03-06 18:48 ` Jeremy Fitzhardinge
2007-03-05 14:27 ` Andi Kleen
2007-03-05 21:58 ` Roland McGrath
2007-03-05 22:01 ` Jeremy Fitzhardinge
2007-03-05 22:58 ` Roland McGrath
2007-03-05 23:03 ` Jeremy Fitzhardinge
2007-03-06 8:34 ` Ingo Molnar [this message]
2007-03-06 9:13 ` Roland McGrath
2007-03-06 9:14 ` Jeremy Fitzhardinge
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=20070306083449.GA12511@elte.hu \
--to=mingo@elte.hu \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=jbeulich@novell.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=roland@redhat.com \
--cc=rusty@rustcorp.com.au \
/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.