virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Zachary Amsden <zach@vmware.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Andrew Morton <akpm@osdl.org>, Zachary Amsden <zamsden@gmail.com>,
	Andi Kleen <ak@muc.de>, Petr Vandrovec <petr@vmware.com>,
	Chris Wright <chrisw@sous-sol.org>,
	Virtualization Mailing List <virtualization@lists.osdl.org>,
	Ingo Molnar <mingo@elte.hu>
Subject: Re: [RFC, PATCH 5/5] Paravirt_ops export.patch
Date: Mon, 23 Apr 2007 14:40:16 -0700	[thread overview]
Message-ID: <462D27C0.2020200@vmware.com> (raw)
In-Reply-To: <m1mz0yvlmu.fsf@ebiederm.dsl.xmission.com>

Eric W. Biederman wrote:
>> Yes, we still do late paravirtualization.  My point is that because of that, you
>> can't just link once and be done with it - you must relink the paravirt-ops
>> later, which is more complex than a one time pre-execution link.
>>     
>
> Then if it is causing problems and making the code more complex (and it sounds
> like it is) please let's get rid of late paravirtualization.
>
> arch/i386 is in bad enough shape with tons of unnecessary special cases.
> We don't need the paravirtualization support adding more.
>   

Late paravirtualization is not causing problems and making the code more 
complex, in fact it is making it simpler.  The fact that we don't need 
to intrude in the boot process at all, but can let the code run without 
inhibition and 100's of special hooks is saving a lot of complexity.  
Otherwise, we would need to dissect head.S even further with custom junk 
for VMI, including probing for ROMs and other things that are just 
naturally easier once you have basic kernel architecture like physical 
mapping, PAE-ness and memory management in place.  Paravirtualizing the 
init code to set both non-PAE and PAE ptes from non-PAE mode (see 
boot_ioremap.c) would be one such grotesque and unwarranted violation.

My point is that if we were to use a linker type approach, it needs to 
be done before the first instruction of the kernel (in particular, 
before the first cpuid ever gets run); this makes it tempting to do in 
some weird assembly goo in head.S, instead of doing it in proper C code 
that can be reused later on.  Doing it in C would be better coding 
practice, it just requires more effort to avoid taking shortcuts (to 
work around the non-C starting environment).

Zach

  reply	other threads:[~2007-04-23 21:40 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-20  1:53 [RFC, PATCH 5/5] Paravirt_ops export.patch Zachary Amsden
2007-04-20  5:10 ` Jeremy Fitzhardinge
2007-04-22 14:28   ` Eric W. Biederman
2007-04-22 16:20     ` Jeremy Fitzhardinge
2007-04-22 16:59     ` Zachary Amsden
2007-04-22 17:31       ` Jeremy Fitzhardinge
2007-04-23 20:53         ` Zachary Amsden
2007-04-23 21:14           ` Eric W. Biederman
2007-04-23 21:40             ` Zachary Amsden [this message]
2007-04-23 21:29           ` Jeremy Fitzhardinge
2007-04-23 21:54             ` Zachary Amsden
2007-04-23 22:15               ` Jeremy Fitzhardinge
2007-04-23 22:24                 ` Zachary Amsden
2007-04-23 22:29                   ` Andi Kleen
2007-04-22 23:57     ` Rusty Russell

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=462D27C0.2020200@vmware.com \
    --to=zach@vmware.com \
    --cc=ak@muc.de \
    --cc=akpm@osdl.org \
    --cc=chrisw@sous-sol.org \
    --cc=ebiederm@xmission.com \
    --cc=mingo@elte.hu \
    --cc=petr@vmware.com \
    --cc=virtualization@lists.osdl.org \
    --cc=zamsden@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).