On 04/30/2015 02:07 PM, John Snow wrote: > The day we all feared is here, and I am proposing we allow the migration > of the AHCI device tentatively for the 2.4 development window. > > There are some more NCQ migration tests are needed, but I felt that it was > important to get migration enabled as close to the start of the 2.4 > development window as possible. > > If the NCQ patches don't pan out by the time the 2.4 freeze occurs, we can > revert the migration boolean and add a conditional around the ahci tests > that rely on the migration feature being enabled. > > I am justifying this checkin based on a series of ping-pong > migration tests I ran under heavy load (using google's stressapptest) > and saw over 300 successful migrations without a single failure. > > This series does a few things: > (1) Add migration facilities to libqos > (2) Enable AHCI and ICH9 migration > (3) Add a series of migration tests to ahci-test > > v3: > - Rebase and resend for 2.4. > - Minor style guide fix. > > v2: > - Added a URI parameter to the migrate() helper > - Adjust ahci_shutdown to set qtest context for itself > - Make sure verify() is part of ahci_migrate() and redundant > calls are eliminated > - Add new helpers to make tests with blkdebug injections more > succint > - Change the flush migrate test to not load the blkdebug rule > on the destination host > - Modify the migrate() function so that it does not poll the > VM for migration status if it can rely on RESUME events. > - New patch: Repair the ahci_command_set_offset helper. > - New test: Test DMA halt and resume. > - New test: Test DMA halt, migrate, and resume. > > == > For convenience, this branch is available at: > https://github.com/jnsnow/qemu.git branch ahci-migration-test > https://github.com/jnsnow/qemu/tree/ahci-migration-test > > This version is tagged ahci-migration-test-v3: > https://github.com/jnsnow/qemu/releases/tag/ahci-migration-test-v3 > == > > John Snow (9): > libqos/ahci: Add halted command helpers > libqos/ahci: Fix sector set method > libqos: Add migration helpers > ich9/ahci: Enable Migration > qtest/ahci: Add migration test > qtest/ahci: add migrate dma test > qtest/ahci: add flush migrate test > qtest/ahci: add halted dma test > qtest/ahci: add migrate halted dma test > > hw/ide/ahci.c | 1 - > hw/ide/ich.c | 1 - > tests/ahci-test.c | 318 > +++++++++++++++++++++++++++++++++++++++++++++++++- > tests/libqos/ahci.c | 34 +++++- > tests/libqos/ahci.h | 3 + > tests/libqos/libqos.c | 84 +++++++++++++ > tests/libqos/libqos.h | 2 + > tests/libqos/malloc.c | 74 +++++++++--- > tests/libqos/malloc.h | 1 + > 9 files changed, 496 insertions(+), 22 deletions(-) >
Staged: https://github.com/jnsnow/qemu/commits/ide (with one edit to patch 3 as suggested by Kevin.) --js