On Thu, Jun 29, 2017 at 10:39:26AM +0200, Marek Marczykowski-Górecki wrote: > On Thu, Jun 29, 2017 at 10:04:42AM +0200, Jiri Denemark wrote: > > On Thu, Jun 29, 2017 at 03:11:42 +0200, Marek Marczykowski-Górecki wrote: > > > Set CPU features in appropriate libxl structure. > > > Use old "xend" syntax, because it allow control over any bit and libvirt > > > already have API for translating features to appropriate cpuid bits. And > > > also features naming in libxl do not match the one of libvirt in > > > multiple cases. > > > > How does the new syntax look like? > > "host,tm=0,sse3=0" > > > And would it be actually better? > > Maybe? But the new syntax use different names for many features (like > pni vs sse3, or sep vs sysenter), so it would require some ugly > translation table... That's not particularly difficult or ugly. Currently virCPUFeatureDEf stores the feature as a string, but we could easily define an enum for the feature names, and then store them as an int. We already have support for doing trivial enum -> string conversions. > What I would really like here, is to get list of bits specified with > <feature ...>, _without_ those defined by <model>. And maybe even > without requiring <model> to be set at all. That would take operation of the Xen driver in a very different direction to the QEMU driver, which I feels is not desirable for applications using libvirt. > Another misleading thing about interpreting <model> here is, it doesn't > mask out features not really present in that CPU. So, you get a CPU > based on <model> but with many additional features. > > > The > > problem with setting individual CPUID bits is very fragile. That's > > mostly what we naively started to do in qemu driver and we're fighting > > with it since then. It's way too easy to create a virtual CPU which a > > guest OS will crash on. > > Well, IMHO if you modify things like CPUID you should really know what > you are doing... The problem is that we've seen real world evidence that apps & users don't know what they're doing here. Sooo many bug reports where guests have been given arbitrary features, causing the guest OS and/or apps to randomly crash due to wierdly unexpected combinations of features. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list