Re: The virtuailization patches break Voyager.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization

[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux