From: Paolo Bonzini <pbonzini@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, "Bahadir Balban" <bbalban@b-labs.com>,
"Dawid Ciężarkiewicz" <dawidc@b-labs.com>,
"Amit Mahajan" <amit.mahajan@b-labs.com>,
quintela@redhat.com
Subject: [Qemu-devel] Re: [PATCH v2 1/2] hw/arm_sysctl.c: Add the Versatile Express system registers
Date: Wed, 23 Mar 2011 09:54:04 +0100 [thread overview]
Message-ID: <4D89B52C.9050501@redhat.com> (raw)
In-Reply-To: <AANLkTin=SR67bDT-4wj_4+aBWRo3+d1Oi1mfxBn=hv1s@mail.gmail.com>
On 03/22/2011 09:32 PM, Peter Maydell wrote:
>> > Just to make things more complicated, this has been "deprecated"O:-)
>
> It has? Your examples below still use it...
The case in which the "subsection needed" function returns true should
be rare, so the version number should rarely need to be bumped. In this
sense, using _V is discouraged/deprecated.
In fact, some people would prefer the version number not to be bumped
anymore, and subsections to be always used instead. So far, every time
the above argument was brought up in the list, people always found a way
to define the "subsection needed" function so that it didn't return
true, and the decision on deprecation of _V was postponed.
Subsections make it easier for downstream versions to backport features
arbitrarily. Suppose you release QEMU with a device at version 9. The
next version adds feature A as version 10 and feature B as version 11.
For a downstream vendor, backporting just feature B is difficult because
they would have three choices:
- the good, but also the hardest: bump to version 11, and save some
dummy (but valid) value for fields related to feature A. This
introduces undesired differences from upstream, and may be difficult.
- the bad: bump to version 10, and have a migration format that is
incompatible with upstream version 10.
- the ugly: keep version 9, and convert the migration data for feature B
to a subsection. This introduces differences from upstream and makes
the migration format incompatible with upstream version, but avoids that
the same version number means different things in different distributions.
So, those people say that subsections are a bit more friendly to
downstream vendors. So they suggest that upstream should use the third
option to begin with, and even use subsections even if the "subsection
needed" function returns true. This makes the backport easier and more
straightforward. The argument is good but, as I said, so far there has
never been an actual need to apply it.
So, Juan's mail documents what QEMU is doing right now accurately, but
there isn't 100% agreement that it should be that way in the future.
Just note that you are encouraged to use subsections (and thus devise a
way to make the subsection optional) whenever possible and whenever it
makes sense to help such downstream distributors.
Paolo
next prev parent reply other threads:[~2011-03-23 8:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-04 20:34 [Qemu-devel] [PATCH v2 0/2] ARM: Add Versatile Express board model Peter Maydell
2011-03-04 20:34 ` [Qemu-devel] [PATCH v2 1/2] hw/arm_sysctl.c: Add the Versatile Express system registers Peter Maydell
2011-03-05 12:11 ` [Qemu-devel] " Paolo Bonzini
2011-03-05 12:34 ` Peter Maydell
2011-03-05 14:59 ` Paolo Bonzini
2011-03-05 16:50 ` Peter Maydell
2011-03-05 17:04 ` Paolo Bonzini
2011-03-07 11:45 ` Peter Maydell
2011-03-07 12:09 ` Jan Kiszka
2011-03-22 19:05 ` Peter Maydell
2011-03-22 19:53 ` Juan Quintela
2011-03-22 20:32 ` Peter Maydell
2011-03-23 8:54 ` Paolo Bonzini [this message]
2011-03-23 9:44 ` Juan Quintela
2011-03-04 20:34 ` [Qemu-devel] [PATCH v2 2/2] hw/vexpress.c: Add model of ARM Versatile Express board Peter Maydell
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=4D89B52C.9050501@redhat.com \
--to=pbonzini@redhat.com \
--cc=amit.mahajan@b-labs.com \
--cc=bbalban@b-labs.com \
--cc=dawidc@b-labs.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).