From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UiMKH-0005Sd-BF for qemu-devel@nongnu.org; Fri, 31 May 2013 06:12:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UiMKG-0000NR-4M for qemu-devel@nongnu.org; Fri, 31 May 2013 06:12:49 -0400 Received: from mail-pd0-f171.google.com ([209.85.192.171]:60458) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UiMKF-0000NE-U8 for qemu-devel@nongnu.org; Fri, 31 May 2013 06:12:48 -0400 Received: by mail-pd0-f171.google.com with SMTP id z11so1965512pdj.16 for ; Fri, 31 May 2013 03:12:47 -0700 (PDT) Message-ID: <51A87799.1020304@ozlabs.ru> Date: Fri, 31 May 2013 20:12:41 +1000 From: Alexey Kardashevskiy MIME-Version: 1.0 References: <1367545092-19980-1-git-send-email-david@gibson.dropbear.id.au> <1367545092-19980-8-git-send-email-david@gibson.dropbear.id.au> <51875DA7.4090308@redhat.com> <51A301AC.8070101@ozlabs.ru> <51A30528.9020708@redhat.com> <51A83C18.2030102@ozlabs.ru> <51A85CEE.4090409@redhat.com> In-Reply-To: <51A85CEE.4090409@redhat.com> Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 7/8] pseries: savevm support for PAPR virtual SCSI List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org, David Gibson , qemu-ppc@nongnu.org, agraf@suse.de, quintela@redhat.com On 05/31/2013 06:18 PM, Paolo Bonzini wrote: > Il 31/05/2013 07:58, Alexey Kardashevskiy ha scritto: >> 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 :-/ > > It is ready. I was just pointing out that it's not _production_ ready. What is the difference then? :) > (Sorry, I'm unusually terse these days). > >> 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? > > Yes. > >> 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. > > No, that doesn't help. > >> How do you trigger the situation when there are inactive requests which >> have to be migrated? > > You need to trigger an error. For example, you could use a sparse image > on an almost-full partition and let "dd" fill your disk. Then migrate > to another instance of QEMU on the same machine, the destination machine > should succeed migration but fail starting the machine. Why would it fail? I run "dd", it fills the disk and stops. Then I migrate. How can I get pending SCSI request in a queue? Sorry, I am definitely missing something. > When free space > on that partition, and "cont" on the destination, it should resume. > >> 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. > > What are indirect requests? I'll leave it to Ben to avoid confusing :) -- Alexey