Bug 886798
| Summary: | Guest should get S3/S4 state according to machine type to avoid cross migration issue | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Qunfang Zhang <qzhang> |
| Component: | qemu-kvm | Assignee: | Amit Shah <amit.shah> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.4 | CC: | acathrow, amit.shah, areis, bsarathy, dyasny, juzhang, michen, mkenneth, rhod, tlavigne, virt-maint |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | qemu-kvm-0.12.1.2-2.349.el6 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-02-21 07:45:35 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 761491 | ||
|
Description
Qunfang Zhang
2012-12-13 08:26:45 UTC
The key thing here is to have s3 and s4 config options disabled in machine types < rhel-6.3.0. (In reply to comment #2) > The key thing here is to have s3 and s4 config options disabled in machine > types < rhel-6.3.0. But s3/s4 is disabled by default in rhel6.4 (see Bug 848369), so we should disable it in rhel-6.4.0 machine type as well. Would it be safe to change the machine type in the z-stream? z-stream need not be modified. We just need to modify the machine types for older RHEL releases in the 6.4 code. The disable_s3 and disable_s4 properties were added during RHEL6.4 (bug 848369). With RHEL6.4, we can control the advertisement of s3 and s4 functionality to the guest. Migrating from 6.4 host (with defaults) to 6.2 host results in a guest-visible change: S3 and S4 suddenly become available. This is fixable by making the rhel6.2 machine type default to s3/s4 advertisement disabled. RHEL6.3 had a disabled S3 and S4 advertisement by default, using a BIOS image that didn't advertise S3 and S4. This too is fixable by making the rhel6.3 machine type default to s3/s4 advertisement disabled. RHEL6.1 and RHEL6.0 didn't have any special patches in this area, so S3/S4 advertisement was the default value: enabled. The 6.1 and 6.0 machine types, then, should have the advertisement enabled to not cause guest-visible changes. As a side note, migrating a RHEL6.0 or RHEL6.1 VM to a RHEL6.2 or 6.3 host would have caused a guest-visible change, but we can do better starting with 6.4, so let's do the right thing now. This, however, has the potential to cause two guest-visible changes if a VM is migrated like this: RHEL6.1 host --1--> RHEL6.3 host --2--> RHEL6.4 host In (1) above, guest will start seeing S3/S4 advertised. After (2), S3/S4 will go away again. (In reply to comment #5) > Migrating from 6.4 host (with defaults) to 6.2 host results in a > guest-visible change: S3 and S4 suddenly become available. This is fixable > by making the rhel6.2 machine type default to s3/s4 advertisement disabled. Sorry, I meant migrating from 6.2 host to 6.4 host (with defaults) results in a guest-visible change. Note to QE: the incompatibility is only seen in migrating guests from 6.0 or 6.1 hosts to newer hosts. 6.0/1 -> 6.2/3 hosts: s3/s4 become unavailable (there's nothing we can do about it now). 6.2/3 -> 6.4 hosts: s3/s4 remains disabled by default. 6.0/1 -> 6.4 hosts: s3/s4 remains available by default. Migrating from 6.2 host to 6.4 host with non-default values for disable_s3/s4 isn't supported, so should not be attempted. Hi, Amit I just have a brief test with your build. Currently the S3/S4 will be enabled on rhel6.4 host with -M rhel6.0.0/-M rhel6.1.0 (NOT append -global PIIX4_PM.disable_s3/s4 option). And S3/s4 will be still disalbed on rhel6.4 host with -M rhel6.2.0/-M rhel6.3.0. And I do some simple migration between rhel6.4 and rhel6.0/rhel6.1 host. Guest works well after migration and the S3/S4 state is correct. I did not run a complete function run for guest stable ABI. Because we will have another round guest stable abi test soon once get confirmed with the 'info qtree' comparison stuff that we discussed recently. Anyway, the build you provided to me works well on the "getting S3/S4 state" and thanks very much. Verified on qemu-kvm-0.12.1.2-2.352.el6.x86_64, currently guest guests S3/S4 state according to machine type. Boot guest on rhel6.4 host with different machine type and check the S3/S4 state. All of the below options work as expected. 1. With "-M rhel6.0.0", S3/S4 will be enabled by default. 2. With "-M rhel6.1.0", S3/s4 will be enabled by default. 3. With "-M rhel6.2.0", S3/S4 will be disabled by default. 4. With "-M rhel6.3.0", S3/S4 will be disabled by default. 5. Do ping-pong migration between rhel6.1<->rhel6.4 and rhel6.3<->rhel6.4, guest works well after migration. So I would like to verified pass this bug. And also a full function test for "stable guest abi" will be executed soon after bug 869981 is fixed which is planned to include in snapshot 5. The result will be updated in that bug. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-0527.html |