Single PV startup vs multiple PV startup

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

 



Christian Limpach wrote:
>> Zachary Amsden wrote:
>> The crazy string extraction Xen has to do to figure out hypervisor 
>> features from the xen_guest section - which is a really bad idea.  
>> Putting this in the kernel is unnecessary if you have a paravirt_ops 
>> initialization function which can negotiate this information to the 
>> hypervisor.  Putting this code into Linux sets an extremely bad 
>> precedent by encouraging ad-hoc, hypervisor specific sections 
>> to be put 
>> in the kernel.  It is ugly, gratuitous, and unnecessary change to 
>> Linux,  Please fix your loader so this doesn't need to be part of the 
>> maintained Linux code:
>>     
>
> Except that the domain builder needs to know most of this information to
> setup the guest correctly (initial pagetables, hypercall page) and to
> check compatibility (pae, version, features).  I guess we could try to
> agree on a structure, but that would only hinder evolution.
>   

We don't need such a structure at all, and if you think really hard 
about it, Xen really doesn't either.  Why does the domain builder need 
to know the hypercall page from a static string in the kernel?  That 
seems completely backwards.  Shouldn't the hypervisor be telling the 
guest about the hypercall page, not the other way around?  And why can't 
you check compatibility in your own hypervisor specific way inside your 
own hypervisor specific initialization routine, instead of putting this 
string table in the binary?  It's just messy, and looks rife to evolve 
in non-deterministic ways, as checking for the presence of arbitrary 
strings seems posed for a forward / backward compatibility nightmare - 
so I think you need to ask yourselves - is it really a good idea to put 
into Linux?

The only field that actually does anything useful is the VIRT_BASE 
field, and there is no reason it needs to be an ASCII string instead of 
a number, in fact, is is very much better off being a field in the 
kernel's ELF header.

Zach


[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