All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted?
@ 2006-11-06  8:09 Tian, Kevin
  2006-11-06  8:51 ` Re: Getting rid of xenbus_suspend(): tpmfrontdriverimpacted? Ian Pratt
  2006-11-06  8:51 ` Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted? Keir Fraser
  0 siblings, 2 replies; 8+ messages in thread
From: Tian, Kevin @ 2006-11-06  8:09 UTC (permalink / raw)
  To: Keir Fraser, Stefan Berger; +Cc: xen-devel, Zhai, Edwin, xen-devel-bounces

[-- Attachment #1: Type: text/plain, Size: 949 bytes --]

From: Keir Fraser
Sent: 2006年11月6日 2:00

	> bit cheesy as far as I can see, so something more integrated in the 
	> tpmfront/back protocol would be nice. 

	In terms of time needed for migration there won't be a difference. Is supporting that .suspend really so problematic? 

	Well, we are going to handle save/restore and migration failure by continuing execution of the original domain. In this case xenbus_resume() will not be executed, so tpmfront will (I think) hang.

	I suppose we could keep suspend() and also introduce a suspend_cancelled() hook...

	 -- Keir

When you said "xenbus_resume" will not be executed, could I suppose that only 
per-PV drivers' resume handler won't be invoked, while instead xb_init_comms and 
xs_resume are still invoked just after resuming point? In any case, we still need
rebuild xenbus channel first, and then to let PV drivers detecting re-connect, am I
right?

Thanks,
Kevin

[-- 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] 8+ messages in thread

* RE: Re: Getting rid of xenbus_suspend(): tpmfrontdriverimpacted?
  2006-11-06  8:09 Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted? Tian, Kevin
@ 2006-11-06  8:51 ` Ian Pratt
  2006-11-06  8:51 ` Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted? Keir Fraser
  1 sibling, 0 replies; 8+ messages in thread
From: Ian Pratt @ 2006-11-06  8:51 UTC (permalink / raw)
  To: Tian, Kevin, Keir Fraser, Stefan Berger
  Cc: xen-devel, Zhai, Edwin, xen-devel-bounces

[-- Attachment #1: Type: text/plain, Size: 522 bytes --]

> 	> bit cheesy as far as I can see, so something more integrated in the
> 	> tpmfront/back protocol would be nice.
> 
> 	In terms of time needed for migration there won't be a difference. Is
> supporting that .suspend really so problematic?

Can't you implement the 'exactly-once' semantics you want using some higher-level protocol?

The suspend hook clearly can't be called in the case of restarting a driver domain. Maybe you don't ever want to do this with tpm, but we do with all the other backends.

Ian

[-- 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] 8+ messages in thread

* Re: Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted?
  2006-11-06  8:09 Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted? Tian, Kevin
  2006-11-06  8:51 ` Re: Getting rid of xenbus_suspend(): tpmfrontdriverimpacted? Ian Pratt
@ 2006-11-06  8:51 ` Keir Fraser
  2006-11-06  9:38   ` Zhai, Edwin
  1 sibling, 1 reply; 8+ messages in thread
From: Keir Fraser @ 2006-11-06  8:51 UTC (permalink / raw)
  To: Tian, Kevin, Stefan Berger; +Cc: xen-devel, Zhai, Edwin, xen-devel-bounces




On 6/11/06 08:09, "Tian, Kevin" <kevin.tian@intel.com> wrote:

> When you said "xenbus_resume" will not be executed, could I suppose that only
> per-PV drivers' resume handler won't be invoked, while instead xb_init_comms
> and 
> xs_resume are still invoked just after resuming point? In any case, we still
> need
> rebuild xenbus channel first, and then to let PV drivers detecting re-connect,
> am I
> right?

No, there would still be a connection through to the xenstored. I guess we
do take a few mutexes and so on, so we would need a bit of undo code. So
xenbus_suspend_cancel() is probably the way to go. But full re-connection is
not required.

 -- Keir

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

* Re: Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted?
  2006-11-06  8:51 ` Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted? Keir Fraser
@ 2006-11-06  9:38   ` Zhai, Edwin
  2006-11-06 10:15     ` Keir Fraser
  0 siblings, 1 reply; 8+ messages in thread
From: Zhai, Edwin @ 2006-11-06  9:38 UTC (permalink / raw)
  To: Keir Fraser; +Cc: Tian, Kevin, xen-devel, Stefan Berger, xen-devel-bounces


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

Keir Fraser wrote:
>
> On 6/11/06 08:09, "Tian, Kevin" <kevin.tian@intel.com> wrote:
>
>   
>> When you said "xenbus_resume" will not be executed, could I suppose that only
>> per-PV drivers' resume handler won't be invoked, while instead xb_init_comms
>> and 
>> xs_resume are still invoked just after resuming point? In any case, we still
>> need
>> rebuild xenbus channel first, and then to let PV drivers detecting re-connect,
>> am I
>> right?
>>     
>
> No, there would still be a connection through to the xenstored. I guess we
> do take a few mutexes and so on, so we would need a bit of undo code. So
> xenbus_suspend_cancel() is probably the way to go. But full re-connection is
> not required.
>   
if no full re-connection, how does everything across different layer 
work together?

look at PV driver in HVM domain for example.
xen-platform-pci, xenbus and xen-vbd enable pseudo device, 
shared_info/evtchn/xenbus and vbd respectively.  when vbd driver found a 
broken state when restore, it should reconnect the lower layers first, 
since everything is lost.



>  -- Keir
>
>   


[-- Attachment #1.2: Type: text/html, Size: 1712 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] 8+ messages in thread

* Re: Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted?
  2006-11-06  9:38   ` Zhai, Edwin
@ 2006-11-06 10:15     ` Keir Fraser
  0 siblings, 0 replies; 8+ messages in thread
From: Keir Fraser @ 2006-11-06 10:15 UTC (permalink / raw)
  To: edwin.zhai; +Cc: Tian, Kevin, xen-devel, Stefan Berger, xen-devel-bounces


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




On 6/11/06 09:38, "Zhai, Edwin" <edwin.zhai@intel.com> wrote:

> look at PV driver in HVM domain for example.
> xen-platform-pci, xenbus and xen-vbd enable pseudo device,
> shared_info/evtchn/xenbus and vbd respectively.  when vbd driver found a
> broken state when restore, it should reconnect the lower layers first, since
> everything is lost.

If migration fails then devices will not have been disconnected.

 -- Keir


[-- Attachment #1.2: Type: text/html, Size: 923 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] 8+ messages in thread

* RE: Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted?
@ 2006-11-06 13:15 Tian, Kevin
  2006-11-06 13:39 ` Keir Fraser
  0 siblings, 1 reply; 8+ messages in thread
From: Tian, Kevin @ 2006-11-06 13:15 UTC (permalink / raw)
  To: Keir Fraser, Stefan Berger; +Cc: xen-devel, Zhai, Edwin, xen-devel-bounces

>From: Keir Fraser [mailto:Keir.Fraser@cl.cam.ac.uk]
>Sent: 2006年11月6日 16:52
>
>No, there would still be a connection through to the xenstored. I guess
>we
>do take a few mutexes and so on, so we would need a bit of undo code.
>So
>xenbus_suspend_cancel() is probably the way to go. But full
>re-connection is
>not required.
>
> -- Keir

For the migration case, the connection may still exist to the xenstored. 
However for save/restore case, we destroy the domain once saved, 
right? In that case, the connection is broken and next time you still 
need to re-bind inter-domain xenbus channel (although local event 
port is same) after resume, just like what's done for xenconsole. 
Xenbus_suspend_cancel can save local state resume, but inter-
domain re-connection is inevitable, IMO. :-)

Thanks,
Kevin

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

* Re: Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted?
  2006-11-06 13:15 Tian, Kevin
@ 2006-11-06 13:39 ` Keir Fraser
  0 siblings, 0 replies; 8+ messages in thread
From: Keir Fraser @ 2006-11-06 13:39 UTC (permalink / raw)
  To: Tian, Kevin, Stefan Berger; +Cc: xen-devel, Zhai, Edwin, xen-devel-bounces




On 6/11/06 13:15, "Tian, Kevin" <kevin.tian@intel.com> wrote:

> For the migration case, the connection may still exist to the xenstored.
> However for save/restore case, we destroy the domain once saved,
> right? In that case, the connection is broken and next time you still
> need to re-bind inter-domain xenbus channel (although local event
> port is same) after resume, just like what's done for xenconsole.
> Xenbus_suspend_cancel can save local state resume, but inter-
> domain re-connection is inevitable, IMO. :-)

Yes, we continue to require full re-connection if the save/restore or
migration is successful and the guest is resumed in a new domain context.
There's no question about that. Our aim here is to allow a save/restore or
migration to fail gracfully by resuming execution in the original domain
context. Currently that is simply not possible, but it's not hard to fix.

 -- Keir

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

* RE: Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted?
@ 2006-11-06 13:43 Tian, Kevin
  0 siblings, 0 replies; 8+ messages in thread
From: Tian, Kevin @ 2006-11-06 13:43 UTC (permalink / raw)
  To: Keir Fraser, Stefan Berger; +Cc: xen-devel, Zhai, Edwin, xen-devel-bounces

>From: Keir Fraser [mailto:Keir.Fraser@cl.cam.ac.uk]
>Sent: 2006年11月6日 21:40
>On 6/11/06 13:15, "Tian, Kevin" <kevin.tian@intel.com> wrote:
>
>> For the migration case, the connection may still exist to the xenstored.
>> However for save/restore case, we destroy the domain once saved,
>> right? In that case, the connection is broken and next time you still
>> need to re-bind inter-domain xenbus channel (although local event
>> port is same) after resume, just like what's done for xenconsole.
>> Xenbus_suspend_cancel can save local state resume, but inter-
>> domain re-connection is inevitable, IMO. :-)
>
>Yes, we continue to require full re-connection if the save/restore or
>migration is successful and the guest is resumed in a new domain
>context.
>There's no question about that. Our aim here is to allow a save/restore or
>migration to fail gracfully by resuming execution in the original domain
>context. Currently that is simply not possible, but it's not hard to fix.
>
> -- Keir

I see, and it's a good enhancement. :-)

Thanks,
Kevin

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

end of thread, other threads:[~2006-11-06 13:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-06  8:09 Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted? Tian, Kevin
2006-11-06  8:51 ` Re: Getting rid of xenbus_suspend(): tpmfrontdriverimpacted? Ian Pratt
2006-11-06  8:51 ` Re: Getting rid of xenbus_suspend(): tpmfrontdriver impacted? Keir Fraser
2006-11-06  9:38   ` Zhai, Edwin
2006-11-06 10:15     ` Keir Fraser
  -- strict thread matches above, loose matches on Subject: below --
2006-11-06 13:15 Tian, Kevin
2006-11-06 13:39 ` Keir Fraser
2006-11-06 13:43 Tian, Kevin

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.