All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: Peter Lieven <pl@kamp.de>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [Qemu-block] Migration sometimes fails with IDE and Qemu 2.2.1
Date: Tue, 07 Apr 2015 14:56:34 -0400	[thread overview]
Message-ID: <55242862.9020205@redhat.com> (raw)
In-Reply-To: <55242597.1000700@kamp.de>



On 04/07/2015 02:44 PM, Peter Lieven wrote:
> Am 07.04.2015 um 17:29 schrieb Dr. David Alan Gilbert:
>> * Peter Lieven (pl@kamp.de) wrote:
>>> Hi David,
>>>
>>> Am 07.04.2015 um 10:43 schrieb Dr. David Alan Gilbert:
>>>>>>> Any particular workload or reproducer?
>>>>>> Workload is almost zero. I try to figure out if there is a way to trigger it.
>>>>>>
>>>>>> Maybe playing a role: Machine type is -M pc1.2 and we set -kvmclock as
>>>>>> CPU flag since kvmclock seemed to be quite buggy in 2.6.16...
>>>>>>
>>>>>> Exact cmdline is:
>>>>>> /usr/bin/qemu-2.2.1  -enable-kvm  -M pc-1.2  -nodefaults -netdev type=tap,id=guest2,script=no,downscript=no,ifname=tap2  -device e1000,netdev=guest2,mac=52:54:00:ff:00:65 -drive format=raw,file=iscsi://172.21.200.53/iqn.2001-05.com.equallogic:4-52aed6-88a7e99a4-d9e00040fdc509a3-XXX-hd0/0,if=ide,cache=writeback,aio=native  -serial null  -parallel null  -m 1024 -smp 2,sockets=1,cores=2,threads=1  -monitor tcp:0:4003,server,nowait -vnc :3 -qmp tcp:0:3003,server,nowait -name 'XXX' -boot order=c,once=dc,menu=off  -drive index=2,media=cdrom,if=ide,cache=unsafe,aio=native,readonly=on  -k de  -incoming tcp:0:5003  -pidfile /var/run/qemu/vm-146.pid  -mem-path /hugepages  -mem-prealloc  -rtc base=utc -usb -usbdevice tablet -no-hpet -vga cirrus  -cpu qemu64,-kvmclock
>>>>>>
>>>>>> Exact kernel is:
>>>>>> 2.6.16.46-0.12-smp (i think this is SLES10 or sth.)
>>>>>>
>>>>>> The machine does not hang. It seems just I/O is hanging. So you can type at the console or ping the system, but no longer login.
>>>>>>
>>>>>> Thank you,
>>>>>> Peter
>>>>> Interesting observation: Migrating the vServer again seems to fix to problem (at least in one case I could test just now).
>>>>>
>>>>> 2.6.8-24-smp is also affected.
>>>> How often does it fail - you say 'sometimes' - is it a 1/10 or a 1/1000 ?
>>> Its more often than 1/10 I would say.
>> OK, that's not too bad - it's the 1/1000 that are really nasty to find.
>> In your setup, how easy would it be for you to try :
>>      with either 2.1 or current head?
>>      with a newer machine-type?
>>      without the cdrom?
>
> Its all possible. I can clone the system and try everything on my test systems. I hope
> it reproduces there.
>
> Has the cdrom the power of taking down the bus?
>
> Peter
>

I don't know if CDROM could stall the entire bus, but I suspect the 
reason for asking is this: dgilbert and I had tracked down a problem 
previously where during migration, outstanding requests being handled by 
the ATAPI code can get lost during migration if, for instance, the user 
has only prepared the command (via bmdma) but has not yet written to the 
register to activate the command yet.

So if something like this happens:

- User writes to the ATA registers to program a command
- Migration occurs
- User writes to the BMDMA register to initiate the command

We can lose some of the state and data of the request. David had checked 
in a workaround for at least ATAPI that simply coaxes the guest OS into 
trying the command again to unstick it.

I think we determined last time that we couldn't fix this problem 
without changing the migration format, so we opted not to do it for 2.3. 
We had also only noticed it with ATAPI drives, not HDDs, so a proper fix 
got kicked down the road since we thought the workaround was sufficient.

IIRC our success rate with reproducing it was something on the order of 
1/50, too.

If you can reproduce it without a CDROM but using the BMDMA interface, 
that's a good data point. If you can't reproduce it using the ISA 
interface, that's a phenomenal data point and implicates BMDMA pretty 
heavily.

--js

  reply	other threads:[~2015-04-07 18:56 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-06 18:47 [Qemu-devel] Migration sometimes fails with IDE and Qemu 2.2.1 Peter Lieven
2015-04-06 18:50 ` [Qemu-devel] [Qemu-block] " John Snow
2015-04-06 19:02   ` Peter Lieven
2015-04-06 19:10     ` Peter Lieven
2015-04-07  8:43       ` Dr. David Alan Gilbert
2015-04-07 15:11         ` Peter Lieven
2015-04-07 15:14           ` Paolo Bonzini
2015-04-07 18:54             ` Peter Lieven
2015-04-07 15:29           ` Dr. David Alan Gilbert
2015-04-07 18:44             ` Peter Lieven
2015-04-07 18:56               ` John Snow [this message]
2015-04-07 19:02                 ` Peter Lieven
2015-04-07 19:13                   ` John Snow
2015-04-09  6:34                     ` Peter Lieven
2015-04-09 12:46                     ` Peter Lieven
2015-04-09 12:50                       ` Paolo Bonzini
2015-04-07 19:01               ` Dr. David Alan Gilbert
2015-04-07 19:04                 ` Peter Lieven
2015-04-09 12:49                 ` Peter Lieven
2015-04-09 13:32                   ` Peter Lieven
2015-04-09 13:43                   ` Dr. David Alan Gilbert
2015-04-09 14:54                     ` Peter Lieven
2015-04-09 15:17                       ` Paolo Bonzini
2015-04-11 13:11                         ` Peter Lieven
2015-04-11 15:00                           ` Peter Lieven
2015-04-13  7:20                             ` Peter Lieven
2015-04-07 20:05               ` Paolo Bonzini
2015-04-09  6:43                 ` Peter Lieven

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=55242862.9020205@redhat.com \
    --to=jsnow@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=pl@kamp.de \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.