From: Markus Armbruster <armbru@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>,
zhang.zhanghailiang@huawei.com,
Ben Warren <ben@skyportsystems.com>,
qemu-trivial@nongnu.org, qemu-devel@nongnu.org,
Markus Armbruster <armbru@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>
Subject: Re: [Qemu-trivial] [Qemu-devel] [RFC PATCH 4/4] qemu-options: Do not show -enable-kvm and -enable-hax in the docs anymore
Date: Wed, 13 Jun 2018 18:02:27 +0200 [thread overview]
Message-ID: <87k1r24quk.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20180613151942.GC19901@redhat.com> ("Daniel P. Berrangé"'s message of "Wed, 13 Jun 2018 16:19:42 +0100")
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Wed, Jun 13, 2018 at 05:11:51PM +0200, Thomas Huth wrote:
>> On 13.06.2018 15:44, Daniel P. Berrangé wrote:
>> > On Wed, Jun 13, 2018 at 02:38:40PM +0100, Stefan Hajnoczi wrote:
>> >> On Wed, Jun 13, 2018 at 07:05:21AM +0200, Thomas Huth wrote:
>> >>> We've got three ways of enabling an accelerator: -machine accel=xyz,
>> >>> -accel xyz and -enable-xyz. For new QEMU users, this must be very
>> >>> confusing ("Which one do I have to use? Is there a difference between
>> >>> the options?"). While -enable-kvm was useful in the past, there is no
>> >>> real good reason for using it anymore today ("-accel kvm" is even less
>> >>> to type than "-enable-kvm"), so let's decrease the confusing amount of
>> >>> options in our documenation a little bit by removing the -enable-xyz
>> >>> here. Note that the option itself is neither removed nor marked as
>> >>> deprecated - since -enable-kvm is likely used in a lot of scripts and
>> >>> since its code is easy to maintain, we should keep it around to avoid
>> >>> to break old setups.
>> >>>
>> >>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> >>> ---
>> >>> PS: I guess Paolo won't like this patch ... let's try it anyway ;-)
>> >>
>> >> It's widely used and we're removing the documentation for it?! That is
>> >> likely to cause issues for new users who refer to the man page to
>> >> understand the QEMU command-lines they see online, in scripts, etc.
>> >
>> > Agreed, this is a very bad idea. Any option that is accepted by QEMU,
>> > but not documented is a bug that must be fixed. IOW removing docs
>> > is creating bugs.
>>
>> Not documenting unliked options that are still kept for compatibility
>> was at least a common practice in the past (see -no-kvm for example, or
>> many of those deprecated options like -net channel that have been
>> removed in the past year).
Not least because both --help output and the user manual are hard enough
to read without them droning about umpteen deprecated things you could
also use, but shouldn't.
> If we're planning to deprecate & then delete an option, then I
> don't mind if docs are dropped,
De-documenting deprecated options that warn "use this instead" feels
like a no-brainer to me.
> but IIUC, in this case we're
> not doing that - the option will essentially exist forever.
Deprecated option: something we don't want users to use, and intend to
remove. It should warn on use, pointing to the replacement, and
documentation should no longer cover it.
Convenience option: something we consider perfectly fine to use, say
because it's much less typing. Document normally.
Legacy option: something in between, i.e. we don't intend to remove it,
but we don't want to advertise it, either. The less of those we have,
the happier I am. Their documentation to be shunted out of the way, so
users can find it if they need it, but won't find it *first* when they
look for how to do something.
>> > If we want to help users understand why we have -enable-kvm, just
>> > make the docs say that it is syntactic for '-machine accel=kvm'.
>> > Users can decide for themselves whether they want to switch to
>> > the more verbose way or not
>>
>> Uh, well, in this case "-enable-kvm" is already the more verbose way:
>> "-accel kvm" is shorter :-)
>
> If I'm a user looking for how to enable KVM, then -enable-kvm is the
> one I'll pick because of the obvious name.
Why does a user have to know how to enable KVM? Oh, because our default
is "run this guest much slower than necessary". Great!
By "pick", I guess you mean "pick out of output of --help". If the only
occurence of KVM there was --accel kvm, I trust the user would pick that
without any trouble. Less confusing than what we have now, I'd say.
>> It's just a big mess: We've got -enable-kvm, -enable-hax, but there is
>> no -enable-hvf, -enable-whpx or -enable-xen option. And to force TCG
>> mode, you've got to use -no-kvm ... honestly, if I were a new user, I'd
>> simply say: WTF!?!
>
> Personally I'd just clean that up by just adding the missing
> -enable-xxx options for consistency :-)
I disagree. The way to a saner QEMU CLI is reducing crap, not adding
crap for consistency.
>> But ok, since -enable-kvm has such a big tradition and is used in a lot
>> of examples out there, it's likely really better if we keep it in the
>> documentation. But we should either move it to a "obsolete option"
>> chapter, or update the current documentation with some words like
>> "obsolete" or "legacy" (to make it clear that nobody gets the idea of
>> introducing -enable-hvf or other similar options in the future).
>>
>> And what about -enable-hax? That hardly has any tradtion. Should we
>> maybe even deprecate it?
I would, but it's not a hill I'm prepared to die on.
WARNING: multiple messages have this Message-ID (diff)
From: Markus Armbruster <armbru@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>,
zhang.zhanghailiang@huawei.com,
Ben Warren <ben@skyportsystems.com>,
qemu-trivial@nongnu.org, qemu-devel@nongnu.org,
Markus Armbruster <armbru@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>
Subject: Re: [Qemu-devel] [RFC PATCH 4/4] qemu-options: Do not show -enable-kvm and -enable-hax in the docs anymore
Date: Wed, 13 Jun 2018 18:02:27 +0200 [thread overview]
Message-ID: <87k1r24quk.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20180613151942.GC19901@redhat.com> ("Daniel P. Berrangé"'s message of "Wed, 13 Jun 2018 16:19:42 +0100")
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Wed, Jun 13, 2018 at 05:11:51PM +0200, Thomas Huth wrote:
>> On 13.06.2018 15:44, Daniel P. Berrangé wrote:
>> > On Wed, Jun 13, 2018 at 02:38:40PM +0100, Stefan Hajnoczi wrote:
>> >> On Wed, Jun 13, 2018 at 07:05:21AM +0200, Thomas Huth wrote:
>> >>> We've got three ways of enabling an accelerator: -machine accel=xyz,
>> >>> -accel xyz and -enable-xyz. For new QEMU users, this must be very
>> >>> confusing ("Which one do I have to use? Is there a difference between
>> >>> the options?"). While -enable-kvm was useful in the past, there is no
>> >>> real good reason for using it anymore today ("-accel kvm" is even less
>> >>> to type than "-enable-kvm"), so let's decrease the confusing amount of
>> >>> options in our documenation a little bit by removing the -enable-xyz
>> >>> here. Note that the option itself is neither removed nor marked as
>> >>> deprecated - since -enable-kvm is likely used in a lot of scripts and
>> >>> since its code is easy to maintain, we should keep it around to avoid
>> >>> to break old setups.
>> >>>
>> >>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> >>> ---
>> >>> PS: I guess Paolo won't like this patch ... let's try it anyway ;-)
>> >>
>> >> It's widely used and we're removing the documentation for it?! That is
>> >> likely to cause issues for new users who refer to the man page to
>> >> understand the QEMU command-lines they see online, in scripts, etc.
>> >
>> > Agreed, this is a very bad idea. Any option that is accepted by QEMU,
>> > but not documented is a bug that must be fixed. IOW removing docs
>> > is creating bugs.
>>
>> Not documenting unliked options that are still kept for compatibility
>> was at least a common practice in the past (see -no-kvm for example, or
>> many of those deprecated options like -net channel that have been
>> removed in the past year).
Not least because both --help output and the user manual are hard enough
to read without them droning about umpteen deprecated things you could
also use, but shouldn't.
> If we're planning to deprecate & then delete an option, then I
> don't mind if docs are dropped,
De-documenting deprecated options that warn "use this instead" feels
like a no-brainer to me.
> but IIUC, in this case we're
> not doing that - the option will essentially exist forever.
Deprecated option: something we don't want users to use, and intend to
remove. It should warn on use, pointing to the replacement, and
documentation should no longer cover it.
Convenience option: something we consider perfectly fine to use, say
because it's much less typing. Document normally.
Legacy option: something in between, i.e. we don't intend to remove it,
but we don't want to advertise it, either. The less of those we have,
the happier I am. Their documentation to be shunted out of the way, so
users can find it if they need it, but won't find it *first* when they
look for how to do something.
>> > If we want to help users understand why we have -enable-kvm, just
>> > make the docs say that it is syntactic for '-machine accel=kvm'.
>> > Users can decide for themselves whether they want to switch to
>> > the more verbose way or not
>>
>> Uh, well, in this case "-enable-kvm" is already the more verbose way:
>> "-accel kvm" is shorter :-)
>
> If I'm a user looking for how to enable KVM, then -enable-kvm is the
> one I'll pick because of the obvious name.
Why does a user have to know how to enable KVM? Oh, because our default
is "run this guest much slower than necessary". Great!
By "pick", I guess you mean "pick out of output of --help". If the only
occurence of KVM there was --accel kvm, I trust the user would pick that
without any trouble. Less confusing than what we have now, I'd say.
>> It's just a big mess: We've got -enable-kvm, -enable-hax, but there is
>> no -enable-hvf, -enable-whpx or -enable-xen option. And to force TCG
>> mode, you've got to use -no-kvm ... honestly, if I were a new user, I'd
>> simply say: WTF!?!
>
> Personally I'd just clean that up by just adding the missing
> -enable-xxx options for consistency :-)
I disagree. The way to a saner QEMU CLI is reducing crap, not adding
crap for consistency.
>> But ok, since -enable-kvm has such a big tradition and is used in a lot
>> of examples out there, it's likely really better if we keep it in the
>> documentation. But we should either move it to a "obsolete option"
>> chapter, or update the current documentation with some words like
>> "obsolete" or "legacy" (to make it clear that nobody gets the idea of
>> introducing -enable-hvf or other similar options in the future).
>>
>> And what about -enable-hax? That hardly has any tradtion. Should we
>> maybe even deprecate it?
I would, but it's not a hill I'm prepared to die on.
next prev parent reply other threads:[~2018-06-13 16:02 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-13 5:05 [Qemu-trivial] [PATCH 0/4] Clean up accelerator options Thomas Huth
2018-06-13 5:05 ` [Qemu-devel] " Thomas Huth
2018-06-13 5:05 ` [Qemu-trivial] [PATCH 1/4] Replace '-machine accel=xyz' with '-accel xyz' Thomas Huth
2018-06-13 5:05 ` [Qemu-devel] " Thomas Huth
2018-06-13 12:20 ` [Qemu-trivial] " Eric Blake
2018-06-13 12:20 ` Eric Blake
2018-06-13 12:48 ` [Qemu-trivial] " Paolo Bonzini
2018-06-13 12:48 ` [Qemu-devel] " Paolo Bonzini
2018-06-13 12:53 ` [Qemu-trivial] " Thomas Huth
2018-06-13 12:53 ` [Qemu-devel] " Thomas Huth
2018-06-13 13:54 ` [Qemu-trivial] " Paolo Bonzini
2018-06-13 13:54 ` [Qemu-devel] " Paolo Bonzini
2018-06-13 14:12 ` [Qemu-trivial] " Thomas Huth
2018-06-13 14:12 ` Thomas Huth
2018-06-13 16:10 ` [Qemu-trivial] " Eduardo Habkost
2018-06-13 16:10 ` [Qemu-devel] " Eduardo Habkost
2018-06-13 13:38 ` [Qemu-trivial] " Stefan Hajnoczi
2018-06-13 13:38 ` [Qemu-devel] " Stefan Hajnoczi
2018-06-13 5:05 ` [Qemu-trivial] [PATCH 2/4] Replace '-enable-kvm' with '-accel kvm' in docs and help texts Thomas Huth
2018-06-13 5:05 ` [Qemu-devel] " Thomas Huth
2018-06-13 12:51 ` [Qemu-trivial] " Paolo Bonzini
2018-06-13 12:51 ` [Qemu-devel] " Paolo Bonzini
2018-06-13 13:38 ` [Qemu-trivial] " Stefan Hajnoczi
2018-06-13 13:38 ` [Qemu-devel] " Stefan Hajnoczi
2018-06-13 5:05 ` [Qemu-trivial] [PATCH 3/4] qemu-options: Improve the documentation of '-accel' and '-machine accel=...' Thomas Huth
2018-06-13 5:05 ` [Qemu-devel] " Thomas Huth
2018-06-13 13:38 ` [Qemu-trivial] " Stefan Hajnoczi
2018-06-13 13:38 ` [Qemu-devel] " Stefan Hajnoczi
2018-06-13 5:05 ` [Qemu-trivial] [RFC PATCH 4/4] qemu-options: Do not show -enable-kvm and -enable-hax in the docs anymore Thomas Huth
2018-06-13 5:05 ` [Qemu-devel] " Thomas Huth
2018-06-13 12:51 ` [Qemu-trivial] " Paolo Bonzini
2018-06-13 12:51 ` [Qemu-devel] " Paolo Bonzini
2018-06-13 13:38 ` [Qemu-trivial] " Stefan Hajnoczi
2018-06-13 13:38 ` [Qemu-devel] " Stefan Hajnoczi
2018-06-13 13:44 ` [Qemu-trivial] " Daniel P. Berrangé
2018-06-13 13:44 ` Daniel P. Berrangé
2018-06-13 15:11 ` [Qemu-trivial] " Thomas Huth
2018-06-13 15:11 ` Thomas Huth
2018-06-13 15:19 ` [Qemu-trivial] " Daniel P. Berrangé
2018-06-13 15:19 ` Daniel P. Berrangé
2018-06-13 15:44 ` [Qemu-trivial] " Thomas Huth
2018-06-13 15:44 ` Thomas Huth
2018-06-13 16:02 ` Markus Armbruster [this message]
2018-06-13 16:02 ` Markus Armbruster
2018-06-19 15:15 ` [Qemu-trivial] " Cornelia Huck
2018-06-19 15:15 ` Cornelia Huck
2018-06-19 16:16 ` [Qemu-trivial] " Paolo Bonzini
2018-06-19 16:16 ` Paolo Bonzini
2018-06-22 18:11 ` [Qemu-trivial] " Eduardo Habkost
2018-06-22 18:11 ` Eduardo Habkost
2018-06-22 19:19 ` [Qemu-trivial] " Thomas Huth
2018-06-22 19:19 ` Thomas Huth
2018-06-22 19:35 ` [Qemu-trivial] " Eduardo Habkost
2018-06-22 19:35 ` Eduardo Habkost
2018-06-22 21:22 ` [Qemu-trivial] " Paolo Bonzini
2018-06-22 21:22 ` Paolo Bonzini
2018-06-25 6:50 ` [Qemu-trivial] " Markus Armbruster
2018-06-25 6:50 ` Markus Armbruster
2018-06-25 10:28 ` [Qemu-trivial] " Paolo Bonzini
2018-06-25 10:28 ` Paolo Bonzini
2018-06-25 17:30 ` [Qemu-trivial] " Eduardo Habkost
2018-06-25 17:30 ` Eduardo Habkost
2018-06-25 18:26 ` [Qemu-trivial] " Paolo Bonzini
2018-06-25 18:26 ` Paolo Bonzini
2018-06-25 19:51 ` [Qemu-trivial] " Eduardo Habkost
2018-06-25 19:51 ` Eduardo Habkost
2018-06-26 5:57 ` [Qemu-trivial] " Paolo Bonzini
2018-06-26 5:57 ` Paolo Bonzini
2018-06-26 12:29 ` [Qemu-trivial] " Eduardo Habkost
2018-06-26 12:29 ` Eduardo Habkost
2018-06-26 13:05 ` [Qemu-trivial] " Paolo Bonzini
2018-06-26 13:05 ` Paolo Bonzini
2018-06-26 16:06 ` [Qemu-trivial] " Eduardo Habkost
2018-06-26 16:06 ` Eduardo Habkost
2018-06-26 16:10 ` [Qemu-trivial] " Daniel P. Berrangé
2018-06-26 16:10 ` Daniel P. Berrangé
2018-06-27 8:39 ` [Qemu-trivial] " Paolo Bonzini
2018-06-27 8:39 ` Paolo Bonzini
2018-06-27 14:05 ` [Qemu-trivial] " Eduardo Habkost
2018-06-27 14:05 ` Eduardo Habkost
2018-06-26 4:40 ` [Qemu-trivial] " Thomas Huth
2018-06-26 4:40 ` Thomas Huth
2018-06-26 7:50 ` [Qemu-trivial] " Cornelia Huck
2018-06-26 7:50 ` Cornelia Huck
2018-06-26 12:56 ` [Qemu-trivial] " Eduardo Habkost
2018-06-26 12:56 ` Eduardo Habkost
2018-06-26 16:43 ` [Qemu-trivial] " Markus Armbruster
2018-06-26 16:43 ` Markus Armbruster
2018-06-27 8:49 ` [Qemu-trivial] " Paolo Bonzini
2018-06-27 8:49 ` Paolo Bonzini
2018-06-13 13:39 ` [Qemu-trivial] [PATCH 0/4] Clean up accelerator options Stefan Hajnoczi
2018-06-13 13:39 ` [Qemu-devel] " Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k1r24quk.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=ben@skyportsystems.com \
--cc=berrange@redhat.com \
--cc=ehabkost@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=stefanha@redhat.com \
--cc=thuth@redhat.com \
--cc=zhang.zhanghailiang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.