On Wed, Jan 11, 2017 at 10:49:48AM -0700, Jim Fehlig wrote: > On 01/06/2017 05:31 PM, Jim Fehlig wrote: > > Adding xen-devel for a question below... > > > Happy new year! > > > > Nearly a year ago I reported an issue with the <hap> hypervisor feature on Xen > > [1] and am now seeing a similar issue with the <pae> feature. Setting the > > default value of pae changed between xend and libxl. When not specified, xend > > would enable pae for HVM domains. Clients such as xm and the old libvirt driver > > did not have to explicitly enable it. In libxl, the pae field within > > libxl_domain_build_info is initialized to 0. Clients must enable pae, and indeed > > xl will do so if pae=1 is not specified in the xl.cfg. > > > > The xend behavior prevents libvirt from disabling pae, whereas the libxl behvior > > causes a guest ABI change (config that worked with libvirt+xend doesn't with > > libvirt+libxl). The libxl behavior also forces management software (e.g. > > OpenStack nova) to add <pae> where it wasn't needed before. > > > > To solve this problem for <hap>, it was changed it to a tristate [2], allowing > > it to be turned off with explicit <hap state='off'/>, and on if not specified or > > <hap/> or <hap state='on'/>. Should <pae> (and the remaining hypervisor features > > that are not tristate) be converted to tristate similar to <hap>? Alternatively, > > I could simply set pae=1 for all HVM domains in the libxl driver. Like the old > > libvirt+xend behavior it couldn't be turned off, but I don't think there is a > > practical use-case to do so. At least no one has complained over all the years > > of libvirt+xend use. > > Xen folks, what is your opinion of always enabling pae for HVM domains in > the libvirt libxl driver? Is there a need these days to disable it? > > Jan had mentioned that some old, buggy guest OS's (Win 9x) might need it > disabled, and perhaps some cases where it may be desirable to suppress a > guest OS entering 64-bit mode. But in practice do you think it is necessary > to expose this knob to users? If the guest arch is declared as x86_64, then you should unconditionally force 'pae' to be present, otherwise you'd be giving the guest an i686 environment. The app should request arch == i686 explicitly if they want an i686 environment. Allowing pae to be toggled for i686 guests is ok, since that indicates whethre the i686 CPU can address > 2GB of RAM. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list