qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 3/3] x86: Switch to q35 as the default machine type


From: Dr. David Alan Gilbert
Subject: Re: [PATCH 3/3] x86: Switch to q35 as the default machine type
Date: Thu, 17 Feb 2022 09:43:50 +0000
User-agent: Mutt/2.1.5 (2021-12-30)

* Daniel P. Berrangé (berrange@redhat.com) wrote:
> On Wed, Feb 16, 2022 at 05:57:02PM +0000, Dr. David Alan Gilbert wrote:
> > * Daniel P. Berrangé (berrange@redhat.com) wrote:
> > > On Wed, Feb 16, 2022 at 05:40:44PM +0000, Dr. David Alan Gilbert wrote:
> > > > * Thomas Huth (thuth@redhat.com) wrote:
> > > > > On 16/02/2022 12.01, Dr. David Alan Gilbert wrote:
> > > > > > * Gerd Hoffmann (kraxel@redhat.com) wrote:
> > > > > > >    Hi,
> > > > > > > > Given the semantic differences from 'i440fx', changing the 
> > > > > > > > default
> > > > > > > > machine type has effects that are equivalent to breaking command
> > > > > > > > line syntax compatibility, which is something we've always tried
> > > > > > > > to avoid.
> > > > > > > 
> > > > > > > And if we are fine breaking backward compatibility I'd rather 
> > > > > > > *not* pick
> > > > > > > a default, effectively making -M $something mandatory, similar to 
> > > > > > > arm.
> > > > > > 
> > > > > > Oh, that's probably easy to do;  what are other peoples thoughts on
> > > > > > that?
> > > > > 
> > > > > I agree with Gerd. Getting rid of a default machine on x86 is likely 
> > > > > better
> > > > > than silently changing it to q35. But I'd maybe say that this should 
> > > > > go
> > > > > through the deprecation process first?
> > > > 
> > > > So just adding something like the following under 'System emulator
> > > > machines':
> > > > 
> > > > x86 default machine type
> > > > ------------------------
> > > > 
> > > > x86 currently defaults to the very old ```pc``` machine type
> > > > which is based on the very old ```i440f``` chipset.  This default
> > > > will be removed and the user will be required to specify a machine
> > > > type explicitly using -M; users are encouraged to switch to the
> > > > not quite as old ```q35``` machine types.
> > > > 
> > > > 
> > > > (This option is going to take a lot more work switching all the
> > > > test cases over; in my world here I'd only changed the tests that broke
> > > > on q35, now everything is going to need to specify a type).
> > > 
> > > ....which is still nothing compared to how many users will be impacted
> > > and the docs all over the internet we'll never be able to change, which
> > > give illustrations using qemu command lines without '-M pc'
> > 
> > What's your prreference - it sounds like you'd prefer to leave the
> > default as 'pc' ?
> 
> Yes.

Damn, that means we've got a 3 way split of people preferring pc, q35
and no default.

> > aarch's message is:
> > qemu-system-aarch64: No machine specified, and there is no default
> > Use -machine help to list supported machines
> > 
> > We could add a:
> > 'Use -machine pc for the old default behaviour'
> 
> Does this really serve to benefit our users though ? As noted, this
> will have no benefit to any mgmt app using libvirt, as it'll still
> explicitly set 'pc' by default. So we only impact basic users who
> are relying on QEMU's built-in defaults.

Right; since none of this impacts libvirt users it's all about the
(substantial number of) users who run qemu manually.
Any change will surprise them, if the change (no default) is going to
produce an error, then it may as well be a helpful error telling them
how to fix it.

> It feels like the arguments for removing the machine type default
> apply equally to other aspects of QEMU defaults. ie lets make
> -cpu, -accel, -m, -smp, and -display mandatory too, since the
> defaults might not be right for some users ?

My preference here was changing the default to q35 rather than
requiring an explicit selection; however I don't think requiring -M is
unreasonable, since it's an easy enough selection.

Requiring '-m' might also be a reasonable requirement - there's very few
use cases on x86 where the default works (probably just running DOS).

Dave


> 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 :|
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK




reply via email to

[Prev in Thread] Current Thread [Next in Thread]