Single PV startup vs multiple PV startup

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

 



Zachary Amsden wrote:
> 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?

Don't see why.  There are definite benefits to having the hypercall page 
at a fixed address within the kernel, so you can just use an absolute 
call/jmp into it.

> 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?

No, that's complicated and messy.  If the kernel starts running and then 
finds that the hypervisor can't support it (or vice versa), then you 
need to quit and report something meaningful to the user about what went 
wrong.  At that point its quite likely the domain launch process has 
probably gone async, so it complicates getting the error out.  It much 
simpler if the builder can quickly determine whether the kernel is 
likely to work with a simple test at the start, and give a useful 
failure reason.

>   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?

It's not an arbitrary string; it has a specific structure.  I don't like 
its current form much either, but there's no reason why there couldn't 
be a sane alternative.

Also, because Xen supports more operating systems than just Linux, it 
would be helpful to us to not have a proliferation of OS-specific 
startup mechanisms.  That's by the by; if a Linux-specific entry would 
really help clean things up/simplify things, then that's OK, but I 
wouldn't want to introduce difference for the sake of it.

    J


[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