On Tue, 19 Jan 2021 16:41:42 +0000 Daniel P. Berrangé <berra...@redhat.com> wrote:
> On Tue, Jan 19, 2021 at 11:35:18AM -0500, Eduardo Habkost wrote: > > On Tue, Jan 19, 2021 at 04:28:26PM +0000, Daniel P. Berrangé wrote: > > > On Tue, Jan 19, 2021 at 02:22:05PM +0000, David Edmondson wrote: > > > > Currently "-cpu -feature,+feature" will disable -feature, which seems > > > > contrary to the intention of the user. Fix this such that the later > > > > flag wins. There are no changes to the interaction of +/- and =on/=off. > > > > > > > > > > The -feature/+feature syntax is the legacy way of configuring > > > features, with feature=on|off being the preferred, since that matches > > > the general QEMU standard for boolean properties. > > > > > > Your proposed change in ordering of + vs - makes conceptual sense, but > > > it is none the less a semantic change in behaviour that may well cause > > > breakage for existing deployed VMs. This impacts guest ABI so could > > > particularly cause live migration problems. > > > > > > IOW, we should have implemented it the way you propose in the first > > > place, but I don't think it is safe to change it now, unless you can > > > tie that new semantic to a machine type version. > > > > > > Before we consider that though, Paolo has just deprecated many of the > > > legacy approaches for boolean properties in this: > > > > > > https://lists.nongnu.org/archive/html/qemu-devel/2021-01/msg04341.html > > > > > > I'm inclined to say that we just follow on from that and finally > > > deprecate the +feature/-feature CPU syntax which we're already considering > > > legacy. This would remove the need to care about changing its behaviour > > > > I believe we had multiple proposal in the past do deprecate > > +feature/-feature, but there were objections. I couldn't find > > the original threads, though. > > Historically libvirt was using +/- syntax, but we finally removed the last > usage of it in June 2019 / libvirt v5.4.0. So for modern QEMU libvirt will > always use =on|off. there are KVM unit tests that used /- syntax, I don't recall any attempt to switch to canonical syntax. > > > In either case, I thought we had already deprecated the weird > > ordering rules of "-feature,+feature". > > Regards, > Daniel