[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 0/8] acpi: make ROMs resizeable
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v3 0/8] acpi: make ROMs resizeable |
Date: |
Wed, 07 Jan 2015 21:48:36 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
On 07/01/2015 20:48, Michael S. Tsirkin wrote:
> This is v3 of the patchset.
> Changes since v2:
> - Address Paolo's comments: drop an unused function, fix up
> comment.
>
> Changes since v1:
> - Any RAM can now be resizeable - there's no requirement
> that it's device RAM any longer.
> - For simplicity, max_size RAM is always pre-allocated
> - Added memory_region_set_size, to keep MR size consistent
> in case MR is guest visible (even though for current users,
> it never is)
>
> At the moment we migrate ROMs which reside in fw cfg, which allows
> changing ROM code at will, and supports migrating largish blocks early,
> with good performance.
> However, we are running into a problem: changing size breaks
> migration every time.
> This already requires somewhat messy compatibility support in
> acpi generation code, and it looks like there'll be more to come.
>
> While recent patches by Paolo and others might make it easier
> to keep table size static for specific machine types, having
> a safety net in case we do need to change it sounds like
> a good idea.
>
> Rather than try to guess the correct size once and for all,
> this patchset tries to make code future-proof, by
> adding support for resizeable ram blocks.
>
> A (possibly very high) amount of space in ram_addr_t space is reserved
> and allocated in host for each block, but never used by fw cfg.
> If incoming block size differs from current size, block is
> reallocated. FW CFG is also notified and updated accordingly.
>
> As reviewers felt that making all RAM "resizeable" in this
> way might make debugging migration harder, these patches
> set a per-block flag and only allow resizing for blocks
> where this was explicitly requested.
>
> Note: migration stream is unaffected by these patches.
> This makes it possible to enable this functionality
> unconditionally, for all machine types.
>
> In the future, this API might be handy for other things, besides ROMs.
Ok for 2.3, just squash 4 and 8 together. No need to repost.
Reviewed-by: Paolo Bonzini <address@hidden>
- [Qemu-devel] [PATCH v3 0/8] acpi: make ROMs resizeable, Michael S. Tsirkin, 2015/01/07
- [Qemu-devel] [PATCH v3 2/8] exec: cpu_physical_memory_set/clear_dirty_range, Michael S. Tsirkin, 2015/01/07
- [Qemu-devel] [PATCH v3 1/8] memory: add memory_region_set_size, Michael S. Tsirkin, 2015/01/07
- [Qemu-devel] [PATCH v3 3/8] exec: split length -> used_length/max_length, Michael S. Tsirkin, 2015/01/07
- [Qemu-devel] [PATCH v3 4/8] exec: qemu_ram_alloc_resizeable, qemu_ram_resize, Michael S. Tsirkin, 2015/01/07
- [Qemu-devel] [PATCH v3 5/8] arch_init: support resizing on incoming migration, Michael S. Tsirkin, 2015/01/07
- [Qemu-devel] [PATCH v3 6/8] memory: API to allocate resizeable RAM MR, Michael S. Tsirkin, 2015/01/07
- [Qemu-devel] [PATCH v3 7/8] acpi-build: make ROMs RAM blocks resizeable, Michael S. Tsirkin, 2015/01/07
- [Qemu-devel] [PATCH v3 8/8] qemu_ram_resize: document assumptions, Michael S. Tsirkin, 2015/01/07
- Re: [Qemu-devel] [PATCH v3 0/8] acpi: make ROMs resizeable,
Paolo Bonzini <=