From: Paolo Bonzini <pbonzini@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
imammedo@redhat.com, qemu-devel@nongnu.org, dgilbert@redhat.com,
Juan Quintela <quintela@redhat.com>
Subject: Re: [Qemu-devel] [PULL 0/8] pc: resizeable ROM blocks
Date: Wed, 07 Jan 2015 11:52:40 +0100 [thread overview]
Message-ID: <54AD0FF8.9000406@redhat.com> (raw)
In-Reply-To: <20150107100313.GC24828@redhat.com>
On 07/01/2015 11:03, Michael S. Tsirkin wrote:
> On Wed, Jan 07, 2015 at 08:33:07AM +0100, Paolo Bonzini wrote:
>>
>>
>> On 24/12/2014 13:41, Michael S. Tsirkin wrote:
>>>> I don't think these are necessary, and I thought these were just RFC
>>>> when they were posted. I and mst didn't really understand each other,
>>>> and I take the fault for not reviewing the submission; however, Peter,
>>>> please hold these for a little more.
>>>>
>>>> Paolo
>>>
>>> Yes, please do, I'd like Paolo to review at least the memory core
>>> changes.
>>
>> I don't have any issue with the implementation; I'm just not sure that
>> this is necessary.
>>
>> My point is that until ACPI tables are actually trimmed, migration
>> really won't be broken. So there is no need to apply these patches
>> until/unless we are ready to trim the tables.
>
> So far, the only case where we *didn't* break migration was when
> we only did minor changes, in 2.2.
Until 2.1 the code wasn't even trying to support migration (the rounding
to 4K was there for that reason, but it just distracted us from the real
issues), so I don't think releases before 2.1 count.
And I would say that it's not designed to support migration now, either.
It's just bypassing the problem.
Once you _do_ have a design that includes migration, things fall into
place much more nicely. That's where we are now with devices, and where
my+Igor's patches should bring us for ACPI. You can still screw up, of
course. But my preferred way to do "defense in depth" is not to have a
safety valve and scream after it triggers. It's to make the job easier
for us all:
1) have unit tests so that if you screw up existing code, "make check"
barfs for the developer;
2) enforce new unit tests with new code, to simplify the reviewer's job.
> So sorry, I don't buy the "reviewed the code and it's safe" argument.
> There's just too much state. Assume there will be bugs. What is a
> solution you propose to make at least one way migration work in case of
> bugs?
Design so that the tables are extensible and bugs are detected before
the code is committed (my stuff). Make the code easier to review, trim
external factors such as IASL version, avoid wheels being reinvented
(Igor's).
Maybe it's too optimistic. That's why I'm saying do not trim the tables
for a couple releases more.
If you have a bug, you're changing guest ABI. We're focusing on
migration, but it is just the tip of the iceberg.
Paolo
next prev parent reply other threads:[~2015-01-07 13:42 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-24 11:51 [Qemu-devel] [PULL 0/8] pc: resizeable ROM blocks Michael S. Tsirkin
2014-12-24 11:51 ` [Qemu-devel] [PULL 1/8] cpu: add cpu_physical_memory_clear_dirty_range_nocode Michael S. Tsirkin
2015-01-07 7:16 ` Paolo Bonzini
2014-12-24 11:51 ` [Qemu-devel] [PULL 2/8] memory: add memory_region_set_size Michael S. Tsirkin
2014-12-24 11:51 ` [Qemu-devel] [PULL 3/8] exec: cpu_physical_memory_set/clear_dirty_range Michael S. Tsirkin
2014-12-24 11:51 ` [Qemu-devel] [PULL 4/8] exec: split length -> used_length/max_length Michael S. Tsirkin
2014-12-24 11:51 ` [Qemu-devel] [PULL 5/8] exec: qemu_ram_alloc_resizeable, qemu_ram_resize Michael S. Tsirkin
2015-01-07 7:18 ` Paolo Bonzini
2015-01-07 9:55 ` Michael S. Tsirkin
2014-12-24 11:51 ` [Qemu-devel] [PULL 6/8] arch_init: support resizing on incoming migration Michael S. Tsirkin
2014-12-24 11:51 ` [Qemu-devel] [PULL 7/8] memory: API to allocate resizeable RAM MR Michael S. Tsirkin
2014-12-24 11:51 ` [Qemu-devel] [PULL 8/8] acpi-build: make ROMs RAM blocks resizeable Michael S. Tsirkin
2014-12-30 13:47 ` Marcel Apfelbaum
2014-12-24 12:25 ` [Qemu-devel] [PULL 0/8] pc: resizeable ROM blocks Paolo Bonzini
2014-12-24 12:40 ` Peter Maydell
2014-12-24 12:41 ` Michael S. Tsirkin
2015-01-07 7:33 ` Paolo Bonzini
2015-01-07 10:03 ` Michael S. Tsirkin
2015-01-07 10:52 ` Paolo Bonzini [this message]
2015-01-07 12:37 ` Michael S. Tsirkin
2015-01-07 12:59 ` Paolo Bonzini
2015-01-19 14:04 ` Igor Mammedov
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=54AD0FF8.9000406@redhat.com \
--to=pbonzini@redhat.com \
--cc=dgilbert@redhat.com \
--cc=imammedo@redhat.com \
--cc=mst@redhat.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).