All of lore.kernel.org
 help / color / mirror / Atom feed
* request of blkfront may disorder after migration without waiting in suspend phase of migration
@ 2011-07-10  4:36 alice wan
  2011-07-10  8:26 ` Daniel Stodden
  2011-07-12 18:23 ` Konrad Rzeszutek Wilk
  0 siblings, 2 replies; 6+ messages in thread
From: alice wan @ 2011-07-10  4:36 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk, xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 996 bytes --]

Hi konrad,

I found the mainline linux 3.0-rc6 xen-blkfront driver doesn't implement
suspend func. In my opinion, the blkfront should wait till responses of all
the pending requests come back, then domu can be suspended,
otherwise,  after the migration, vm of target host will request from target
host, meanwhile, the blkback of source host maybe do the pending requests
until they's done.

if migrate the vm with high io pressure,  the requests of this vm may
disorder.

And i saw the gpl windows pv driver, blkfront will change its state and wait
for blkback closing, after blkback closing, the pending requests definitely
are done.

More, i did some test with migration,  while vm was running dd task,  xm
migrate -l .  before it suspend, gdb tapdisk2.  after migration, new vm
started. then quit gdb, the pending request were written back to disk after
new requests.

above mentioned is just my opinion, i need your advice and confirmation or
deny

any help is appreciated.


Regards

wanjia

[-- Attachment #1.2: Type: text/html, Size: 1236 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: request of blkfront may disorder after migration without waiting in suspend phase of migration
  2011-07-10  4:36 request of blkfront may disorder after migration without waiting in suspend phase of migration alice wan
@ 2011-07-10  8:26 ` Daniel Stodden
  2011-07-12 18:23 ` Konrad Rzeszutek Wilk
  1 sibling, 0 replies; 6+ messages in thread
From: Daniel Stodden @ 2011-07-10  8:26 UTC (permalink / raw)
  To: alice wan; +Cc: xen-devel, Konrad Rzeszutek Wilk

On Sun, 2011-07-10 at 00:36 -0400, alice wan wrote:
> Hi konrad,
> 
> I found the mainline linux 3.0-rc6 xen-blkfront driver doesn't implement suspend func. In my opinion, the blkfront should wait till responses of all the pending requests come back, then domu can be suspended, otherwise,  after the migration, vm of target host will request from target host, meanwhile, the blkback of source host maybe do the pending requests until they's done.

It's not done that way because the suspension alone is rather
transparent to the guest. There's normally not a problem with that. As
long as I/O completed on the source host before resuming the new machine
image (which will reissue the requests not observed complete).

This is a relatively safe procedure as long as the toolstack makes sure
the backend shut down before handing over.

> if migrate the vm with high io pressure,  the requests of this vm may disorder.
> 
> And i saw the gpl windows pv driver, blkfront will change its state and wait for blkback closing, after blkback closing, the pending requests definitely are done.

Huh? I don't know much about the GPL PV drivers. I do believe however
shouldn't be able observe blkback transitioning to Closing. The guest
should have been halted and destroyed before that even happens.

> More, i did some test with migration,  while vm was running dd task,  xm migrate -l .  before it suspend, gdb tapdisk2.  after migration, new vm started. then quit gdb, the pending request were written back to disk after new requests.
> 
> above mentioned is just my opinion, i need your advice and confirmation or deny
> 
> any help is appreciated.

Woah. Could someone with xm know how confirm or deny that? The former
will break disk images. 

It's quite fundamental that blkback was completely shut down (rm
backend/vbd doesn't count, it state hit Closed, i.e. xenblkd gone and
bdev release()d) before resuming.

Daniel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: request of blkfront may disorder after migration without waiting in suspend phase of migration
  2011-07-10  4:36 request of blkfront may disorder after migration without waiting in suspend phase of migration alice wan
  2011-07-10  8:26 ` Daniel Stodden
@ 2011-07-12 18:23 ` Konrad Rzeszutek Wilk
  2011-07-13  9:09   ` Ian Campbell
  2011-07-13 10:57   ` alice wan
  1 sibling, 2 replies; 6+ messages in thread
From: Konrad Rzeszutek Wilk @ 2011-07-12 18:23 UTC (permalink / raw)
  To: alice wan; +Cc: xen-devel

On Sun, Jul 10, 2011 at 12:36:06PM +0800, alice wan wrote:
> Hi konrad,
> 
> I found the mainline linux 3.0-rc6 xen-blkfront driver doesn't implement
> suspend func. In my opinion, the blkfront should wait till responses of all
> the pending requests come back, then domu can be suspended,

I think you mean blkback. It should be the job of blkback to account for
all I/Os and make sure they have completed before migrating?

I did have a patch for the 2.6.32 to deal with this but I never was able
to reproduce this. Are you able to reproduce this? Can you give me
step by step instructions on how to do it?

> otherwise,  after the migration, vm of target host will request from target
> host, meanwhile, the blkback of source host maybe do the pending requests
> until they's done.
> 
> if migrate the vm with high io pressure,  the requests of this vm may
> disorder.
> 
> And i saw the gpl windows pv driver, blkfront will change its state and wait
> for blkback closing, after blkback closing, the pending requests definitely
> are done.
> 
> More, i did some test with migration,  while vm was running dd task,  xm
> migrate -l .  before it suspend, gdb tapdisk2.  after migration, new vm
> started. then quit gdb, the pending request were written back to disk after
> new requests.
> 
> above mentioned is just my opinion, i need your advice and confirmation or
> deny
> 
> any help is appreciated.
> 
> 
> Regards
> 
> wanjia

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: request of blkfront may disorder after migration without waiting in suspend phase of migration
  2011-07-12 18:23 ` Konrad Rzeszutek Wilk
@ 2011-07-13  9:09   ` Ian Campbell
  2011-07-14  2:03     ` Daniel Stodden
  2011-07-13 10:57   ` alice wan
  1 sibling, 1 reply; 6+ messages in thread
From: Ian Campbell @ 2011-07-13  9:09 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk; +Cc: alice wan, xen-devel

On Tue, 2011-07-12 at 19:23 +0100, Konrad Rzeszutek Wilk wrote:
> On Sun, Jul 10, 2011 at 12:36:06PM +0800, alice wan wrote:
> > Hi konrad,
> > 
> > I found the mainline linux 3.0-rc6 xen-blkfront driver doesn't implement
> > suspend func. In my opinion, the blkfront should wait till responses of all
> > the pending requests come back, then domu can be suspended,
> 
> I think you mean blkback. It should be the job of blkback to account for
> all I/Os and make sure they have completed before migrating?

blkfront has a resume hook which (AIUI) is intended to recover things
after a migration and this seemingly does not require any work on the
suspend path (or at least was presumably thought not to when it was
written...).

Ian.

> 
> I did have a patch for the 2.6.32 to deal with this but I never was able
> to reproduce this. Are you able to reproduce this? Can you give me
> step by step instructions on how to do it?
> 
> > otherwise,  after the migration, vm of target host will request from target
> > host, meanwhile, the blkback of source host maybe do the pending requests
> > until they's done.
> > 
> > if migrate the vm with high io pressure,  the requests of this vm may
> > disorder.
> > 
> > And i saw the gpl windows pv driver, blkfront will change its state and wait
> > for blkback closing, after blkback closing, the pending requests definitely
> > are done.
> > 
> > More, i did some test with migration,  while vm was running dd task,  xm
> > migrate -l .  before it suspend, gdb tapdisk2.  after migration, new vm
> > started. then quit gdb, the pending request were written back to disk after
> > new requests.
> > 
> > above mentioned is just my opinion, i need your advice and confirmation or
> > deny
> > 
> > any help is appreciated.
> > 
> > 
> > Regards
> > 
> > wanjia
> 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xensource.com
> > http://lists.xensource.com/xen-devel
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: request of blkfront may disorder after migration without waiting in suspend phase of migration
  2011-07-12 18:23 ` Konrad Rzeszutek Wilk
  2011-07-13  9:09   ` Ian Campbell
@ 2011-07-13 10:57   ` alice wan
  1 sibling, 0 replies; 6+ messages in thread
From: alice wan @ 2011-07-13 10:57 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk; +Cc: xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 2653 bytes --]

2011/7/13 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

> On Sun, Jul 10, 2011 at 12:36:06PM +0800, alice wan wrote:
> > Hi konrad,
> >
> > I found the mainline linux 3.0-rc6 xen-blkfront driver doesn't implement
> > suspend func. In my opinion, the blkfront should wait till responses of
> all
> > the pending requests come back, then domu can be suspended,
>
> I think you mean blkback. It should be the job of blkback to account for
> all I/Os and make sure they have completed before migrating?
>
> I did have a patch for the 2.6.32 to deal with this but I never was able
> to reproduce this. Are you able to reproduce this? Can you give me
> step by step instructions on how to do it?
>

yeah,  just because i didn't see any code in blkback to waiting for IO
before migrating,
blkfront's the rest one to do this job that it actively switches to Closing
state, then blkback can observe it and call blkif_disconnect to account for
all IO.

my test procedure is like this
> More, i did some test with migration,  while vm was running dd task,  xm
> migrate -l .  before it suspend, gdb tapdisk2.  after migration, new vm
> started. then quit gdb, the pending request were written back to disk
after
> new requests.

gdb tapdisk2 , the IO of src host hanged, when xc_save did suspend, after
100s, socket was shutted down, Vm of target host resumed and continued to
dd, then quit gdb.

this test is quite extreme. normal migration depends on whether all IO can
be completed in 100s.

well, i need the IO have 100% safety, especially in the distributed fs.

of course, blkback is the best choice to ensure this.

>
> > otherwise,  after the migration, vm of target host will request from
> target
> > host, meanwhile, the blkback of source host maybe do the pending requests
> > until they's done.
> >
> > if migrate the vm with high io pressure,  the requests of this vm may
> > disorder.
> >
> > And i saw the gpl windows pv driver, blkfront will change its state and
> wait
> > for blkback closing, after blkback closing, the pending requests
> definitely
> > are done.
> >
> > More, i did some test with migration,  while vm was running dd task,  xm
> > migrate -l .  before it suspend, gdb tapdisk2.  after migration, new vm
> > started. then quit gdb, the pending request were written back to disk
> after
> > new requests.
> >
> > above mentioned is just my opinion, i need your advice and confirmation
> or
> > deny
> >
> > any help is appreciated.
> >
> >
> > Regards
> >
> > wanjia
>
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xensource.com
> > http://lists.xensource.com/xen-devel
>
>

[-- Attachment #1.2: Type: text/html, Size: 3562 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: request of blkfront may disorder after migration without waiting in suspend phase of migration
  2011-07-13  9:09   ` Ian Campbell
@ 2011-07-14  2:03     ` Daniel Stodden
  0 siblings, 0 replies; 6+ messages in thread
From: Daniel Stodden @ 2011-07-14  2:03 UTC (permalink / raw)
  To: Ian Campbell; +Cc: alice wan, xen-devel, Konrad Rzeszutek Wilk

On Wed, 2011-07-13 at 05:09 -0400, Ian Campbell wrote: 
> On Tue, 2011-07-12 at 19:23 +0100, Konrad Rzeszutek Wilk wrote:
> > On Sun, Jul 10, 2011 at 12:36:06PM +0800, alice wan wrote:
> > > Hi konrad,
> > > 
> > > I found the mainline linux 3.0-rc6 xen-blkfront driver doesn't implement
> > > suspend func. In my opinion, the blkfront should wait till responses of all
> > > the pending requests come back, then domu can be suspended,
> > 
> > I think you mean blkback. It should be the job of blkback to account for
> > all I/Os and make sure they have completed before migrating?
> 
> blkfront has a resume hook which (AIUI) is intended to recover things
> after a migration and this seemingly does not require any work on the
> suspend path (or at least was presumably thought not to when it was
> written...).

>From a pre-copy migration perspective, adding a suspend hook to synch on
pending I/O is not ideal. It's just going to add unsolicited memory
footprint, with fairly arbitrary amounts of additional memory getting
dirtied ('arbitrary' depending on what else is allowed to keep running
in the guest in that state).

I guess that's why post-migration recovery was preferred, and I still
don't see why that's to blame.

Daniel

> Ian.
> 
> > 
> > I did have a patch for the 2.6.32 to deal with this but I never was able
> > to reproduce this. Are you able to reproduce this? Can you give me
> > step by step instructions on how to do it?
> > 
> > > otherwise,  after the migration, vm of target host will request from target
> > > host, meanwhile, the blkback of source host maybe do the pending requests
> > > until they's done.
> > > 
> > > if migrate the vm with high io pressure,  the requests of this vm may
> > > disorder.
> > > 
> > > And i saw the gpl windows pv driver, blkfront will change its state and wait
> > > for blkback closing, after blkback closing, the pending requests definitely
> > > are done.
> > > 
> > > More, i did some test with migration,  while vm was running dd task,  xm
> > > migrate -l .  before it suspend, gdb tapdisk2.  after migration, new vm
> > > started. then quit gdb, the pending request were written back to disk after
> > > new requests.
> > > 
> > > above mentioned is just my opinion, i need your advice and confirmation or
> > > deny
> > > 
> > > any help is appreciated.
> > > 
> > > 
> > > Regards
> > > 
> > > wanjia
> > 
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xensource.com
> > > http://lists.xensource.com/xen-devel
> > 
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xensource.com
> > http://lists.xensource.com/xen-devel
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-07-14  2:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-10  4:36 request of blkfront may disorder after migration without waiting in suspend phase of migration alice wan
2011-07-10  8:26 ` Daniel Stodden
2011-07-12 18:23 ` Konrad Rzeszutek Wilk
2011-07-13  9:09   ` Ian Campbell
2011-07-14  2:03     ` Daniel Stodden
2011-07-13 10:57   ` alice wan

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.