[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH][RESEND] Fix xm reboot --wait



>On 31/8/06 3:56 am, "Masaki Kanno" <kanno.masaki@xxxxxxxxxxxxxx> wrote:
>
>> Hi Keir,
>> 
>> Could you teach about the 'synchronous flag' in detail?
>> Is the 'synchronous flag' a interface that requests the response
>> from xend to xm to be delayed until the reboot of domU is completed?
>> 
>> Best regards,
>>  Kan
>
>That's the idea, yes. It seems neater to have xend provide this feature
>directly rather than place detail sof its implementation in xm itself by
>making the 'restart counter' available across RPC.

Hi Keir,

Currently, xm reboot command processing is the almost following 
sequences.

Currently:
------------------------------+------------------------+---------------
xm                            |xend                    |domU(VM1)
------------------------------+------------------------+---------------
xm create VM1                 |                        |
                              |  VM1.restart_count==0  |
xm reboot VM1                 |                        |
  VM1.getRestartCount() <----------->                  |
   : Counter is 0             |                        |
  VM1.shutdown('reboot') <---------->                  |
                              |  VM1.shutdown <-----------> +
                              |                        |    |
                              |                        |  shutdown
                              |                        |  processing
                              |                        |    |
  VM1.getRestartCount() <----------->                  |    |
   : Counter is 0, no count up|             <-------------- +
                              |  VM1.destroy           |
                              |  VM1.create            |
                              |  VM1.restart_count++   |
                              |                        |
  VM1.getRestartCount() <----------->                  |
   : Counter is 1, count up!  |                        |
                              |                        |
  info("Domain VM1 rebooted") |                        |
                              |                        |
------------------------------+------------------------+---------------


If xm/xend implemented 'synchronous flag' which was your idea, I think 
that xm reboot command is the almost following sequences. Am I right?

Synchronous flag:
------------------------------+------------------------+---------------
xm                            |xend                    |domU(VM1)
------------------------------+------------------------+---------------
xm create VM1                 |                        |
                              |                        |
xm reboot VM1                 |                        |
  VM1.shutdown('reboot',sync)------->                  |
                          |   |  VM1.shutdown <-----------> +
                          |   |                        |    |
                          |   |                        |  shutdown
                          |   |                        |  processing
                          |   |                        |    |
                        wait  |                        |    |
                          |   |             <-------------- +
                          |   |  VM1.destroy           |
                          V   |  VM1.create            |
                        <------- Completion response   |
                              |                        |
  info("Domain VM1 rebooted") |                        |
                              |                        |
------------------------------+------------------------+---------------


If a user rebooted one VM, both implementations are the same for execute 
time of xm reboot command. However, xm reboot command has 'all' option. 
If a user rebooted all VMs with 'all' option, I think that the execute 
time of xm reboot command lengthen in proportion to the number of VM.

Synchronous flag(--all):
------------------------------+------------------------+---------------
xm                            |xend                    |domU
------------------------------+------------------------+---------------
xm create VM1                 |                        |
xm create VM2                 |                        |
                              |                        |
xm reboot --all               |                        |
  VM1.shutdown('reboot',sync)------->                  |
                          |   |  VM1.shutdown <-----------> +
                          |   |                        |    |
                          |   |                        |  shutdown
                          |   |                        |  processing
                          |   |                        |    |
                        wait  |                        |    |
                          |   |             <-------------- +
                          |   |  VM1.destroy           |
                          V   |  VM1.create            |
                        <------- Completion response   |
                              |                        |
  info("Domain VM1 rebooted") |                        |
  VM2.shutdown('reboot',sync)------->                  |
                          |   |  VM2.shutdown <-----------> +
                          |   |                        |    |
                          |   |                        |  shutdown
                          |   |                        |  processing
                          |   |                        |    |
                        wait  |                        |    |
                          |   |             <-------------- +
                          |   |  VM2.destroy           |
                          V   |  VM2.create            |
                        <------- Completion response   |
                              |                        |
  info("Domain VM2 rebooted") |                        |
                              |                        |
------------------------------+------------------------+---------------


As for the current implementation, if a user rebooted all VMs with 
'all' option, shutdown processing of each VM is executed in parallel.


Best regards,
 Kan

>
> -- Keir
>



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.