From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: quintela@redhat.com, agraf@suse.de, qemu-devel@nongnu.org,
qemu-ppc@nongnu.org, David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] [PATCH 7/8] pseries: savevm support for PAPR virtual SCSI
Date: Fri, 31 May 2013 15:58:48 +1000 [thread overview]
Message-ID: <51A83C18.2030102@ozlabs.ru> (raw)
In-Reply-To: <51A30528.9020708@redhat.com>
On 05/27/2013 05:03 PM, Paolo Bonzini wrote:
> Il 27/05/2013 08:48, Alexey Kardashevskiy ha scritto:
>>>>
>>>> This is only true when the rerror and werror options have the values
>>>> "ignore" or "report". See virtio-scsi for an example of how to save the
>>>> requests using the save_request and load_request callbacks in SCSIBusInfo.
>>
>> Sigh.
>
> ?
I thought the series is ready to go but I was wrong. Furthermore when I got
to the point where I could actually test the save/restore for vscsi_req,
migration was totally broken on PPC and it took some time to fix it :-/
>> How do you test that requests are saved/restored correctly? What does
>> happen to requests which were already sent to the real hardware (real block
>> device, etc) but have not completed at the moment of the end of migration?
>
> They aren't saved, there is a bdrv_drain_all() in the migration code.
>
> This is only used for rerror=stop or werror=stop. To test it you can
> use blkdebug (also a bit underdocumented) or hack block/raw-posix.c with
> code that makes it fail the 100th write or something like that. Start
> the VM and migrate it while paused to a QEMU that doesn't have the hack.
I run QEMU as (this is the destination, the source just does not have
-incoming):
./qemu-system-ppc64 \
-L "qemu-ppc64-bios/" \
-device "spapr-vscsi,id=ibmvscsi0" \
-drive
"file=virtimg/fc18guest,if=none,id=dddrive0,readonly=off,format=blkdebug,media=disk,werror=stop,rerror=stop"
\
-device
"scsi-disk,id=scsidisk0,bus=ibmvscsi0.0,channel=0,scsi-id=0,lun=0,drive=dddrive0,removable=off"
\
-incoming "tcp:localhost:4000" \
-m "1024" \
-machine "pseries" \
-nographic \
-vga "none" \
-enable-kvm
Am I using werror/rerror correctly?
I did not really understand how to use blkdebug or what else to hack in
raw-posix but the point is I cannot get QEMU into a state with at least one
vcsci_req.active==1, they are always inactive no matter what I do - I run
10 instances of "dd if=/def/sda of=/dev/null bs=4K" (on 8GB image with
FC18) and increase migration speed to 500MB/s, no effect.
How do you trigger the situation when there are inactive requests which
have to be migrated?
And another question (sorry I am not very familiar with terminology but
cc:Ben is :) ) - what happens with indirect requests if migration happened
in the middle of handling such a request? virtio-scsi does not seem to
handle this situation anyhow, it just reconstructs the whole request and
that's it.
--
Alexey
next prev parent reply other threads:[~2013-05-31 5:58 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-03 1:38 [Qemu-devel] [0/8] pseries: savevm / migration support David Gibson
2013-05-03 1:38 ` [Qemu-devel] [PATCH 1/8] savevm: Implement VMS_DIVIDE flag David Gibson
2013-05-03 1:38 ` [Qemu-devel] [PATCH 2/8] target-ppc: Convert ppc cpu savevm to VMStateDescription David Gibson
2013-05-03 11:29 ` Andreas Färber
2013-05-03 14:26 ` [Qemu-devel] [Qemu-ppc] " David Gibson
2013-05-03 1:38 ` [Qemu-devel] [PATCH 3/8] pseries: savevm support for XICS interrupt controller David Gibson
2013-05-03 1:38 ` [Qemu-devel] [PATCH 4/8] pseries: savevm support for VIO devices David Gibson
2013-05-03 1:38 ` [Qemu-devel] [PATCH 5/8] pseries: savevm support for PAPR VIO logical lan David Gibson
2013-05-03 1:38 ` [Qemu-devel] [PATCH 6/8] pseries: savevm support for PAPR TCE tables David Gibson
2013-05-03 1:38 ` [Qemu-devel] [PATCH 7/8] pseries: savevm support for PAPR virtual SCSI David Gibson
2013-05-06 7:37 ` Paolo Bonzini
2013-05-07 3:07 ` [Qemu-devel] [Qemu-ppc] " David Gibson
2013-05-27 6:48 ` [Qemu-devel] " Alexey Kardashevskiy
2013-05-27 7:03 ` Paolo Bonzini
2013-05-31 5:58 ` Alexey Kardashevskiy [this message]
2013-05-31 8:18 ` Paolo Bonzini
2013-05-31 10:12 ` Alexey Kardashevskiy
2013-05-31 10:26 ` Paolo Bonzini
2013-05-31 10:33 ` Alexey Kardashevskiy
2013-05-31 10:34 ` Paolo Bonzini
2013-05-31 10:07 ` Benjamin Herrenschmidt
2013-05-31 10:25 ` Alexey Kardashevskiy
2013-05-31 10:41 ` Paolo Bonzini
2013-06-01 0:01 ` Benjamin Herrenschmidt
2013-06-03 6:21 ` Paolo Bonzini
2013-06-03 5:46 ` Alexey Kardashevskiy
2013-06-03 6:23 ` Paolo Bonzini
2013-06-03 8:07 ` Benjamin Herrenschmidt
2013-06-03 9:37 ` Alexey Kardashevskiy
2013-06-03 9:41 ` Paolo Bonzini
2013-05-03 1:38 ` [Qemu-devel] [PATCH 8/8] pseries: savevm support for pseries machine David Gibson
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=51A83C18.2030102@ozlabs.ru \
--to=aik@ozlabs.ru \
--cc=agraf@suse.de \
--cc=david@gibson.dropbear.id.au \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@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).