All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: James.Bottomley@HansenPartnership.com,
	virtualization@lists.osdl.org, "H. Peter Anvin" <hpa@zytor.com>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: The virtuailization patches break Voyager.
Date: Sat, 28 Apr 2007 01:52:30 -0700	[thread overview]
Message-ID: <46330B4E.6060608@goop.org> (raw)
In-Reply-To: <m1zm4sgaqt.fsf@ebiederm.dsl.xmission.com>

Eric W. Biederman wrote:
> That said any paravirtualized subarch is more different from stock
> x86 then voyager is and in that sense is very much a sub architecture.
>   

Well, a goal was that there should be no downside to enabling
CONFIG_PARAVIRT all the time, even if you don't compile in any
hypervisor support. I think we're close to that now, at least for plain
i386. And while I don't expect it to ever happen, we could get rid of
CONFIG_PARAVIRT fairly easily, and simplify a pile of headers. Maybe it
could happen if it becomes platform_ops.

> I find it distressing that we currently have 2 subarch layers on
> arch/i386.
>
> If you look at alpha, or arm, or  ppc or ia64 they all do
> subarchitectures much better then arch/i386.
>   

Yes. Given that we're starting on i386 and the existing subarch
mechanism is clearly inappropriate for what we want to do, the result is
that we're effectively building a parallel subarch mechanism and when it
becomes capable enough it can take over from the existing one. Its
another example of the earliest adopter gets the cruddiest technology.

> At the same time I find it very distressing how many functions named
> native_xxx we are accumulating.  Especially when all native refers is
> to the default i386 subarch and not to anything particularly native.
> Just one particular way something was implemented.
>   

The native_* stuff came from the need to have some kind of consistent
naming convention, but I agree it probably isn't the best. i386_* or
x86_* might be better for many of them.

> In general I agree that the paravirt_ops are much saner then what we
> have had before but on x86 but they still have a ways to go.
>   

Yep. Like everything else in the kernel, it's an iterative development
process.

> The fact that 2 level or 3 level page tables can't be selected at
> runtime seems to be a failing to think of themselves as a generic 
> a subarch mechanism.  I can't fault you to much for that one as
> that is a little off the beaten path.
>   

That's something I've been thinking about, because Xen requires the
PAEness of the guest to match the hypervisor, so it would be useful to
switch on the fly (not that non-PAE Xen is really a preferred option
these days). Hm... You might be able to do it now by compiling the
kernel in PAE mode, and then have a set of PAE->non-PAE pagetable
operations in paravirt_ops do the conversion. It nearly works, but you'd
ideally want to abstract all the higher-level pagetable walkers rather
than just the get/set pte operations.

> Thanks I think.  I just wish the thing that I was finding were more
> subtle.  Code not building?

Well, yes, its a bit embarrassing. I just got some more disk so I can
afford to have a few more build trees around.

J

  reply	other threads:[~2007-04-28  8:52 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-28  6:40 The virtuailization patches break Voyager Eric W. Biederman
2007-04-28  6:59 ` Jeremy Fitzhardinge
2007-04-28  7:25   ` Eric W. Biederman
2007-04-28  7:52     ` Jeremy Fitzhardinge
2007-04-28  8:32       ` Eric W. Biederman
2007-04-28  8:52         ` Jeremy Fitzhardinge [this message]
2007-04-28  9:34         ` Andi Kleen
2007-04-28 16:05           ` James Bottomley
2007-04-28 17:15             ` Andi Kleen
2007-04-28  8:42       ` Andi Kleen
2007-04-28  9:13         ` Thomas Gleixner
2007-04-28  9:15           ` Jeremy Fitzhardinge
2007-04-28  9:39           ` Andi Kleen
2007-04-28  9:48             ` Thomas Gleixner
2007-04-28  9:15         ` Eric W. Biederman
2007-04-28  9:37           ` Andi Kleen
2007-04-28 15:24             ` Eric W. Biederman
2007-04-28 16:08             ` James Bottomley
2007-04-28 15:54         ` James Bottomley
2007-04-28 17:15           ` Andi Kleen
2007-04-28 16:40       ` H. Peter Anvin
2007-04-28 17:00         ` Eric W. Biederman
2007-04-28 17:07           ` H. Peter Anvin
2007-04-28 15:47 ` James Bottomley
2007-04-28 16:02   ` Eric W. Biederman
2007-04-28 16:18     ` Jeremy Fitzhardinge
2007-04-28 16:20     ` James Bottomley
2007-04-28 17:23       ` Andi Kleen
2007-04-28 17:22   ` Andi Kleen

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=46330B4E.6060608@goop.org \
    --to=jeremy@goop.org \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=hpa@zytor.com \
    --cc=virtualization@lists.osdl.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.