Randy Fishel wrote:
> On Wed, 4 Nov 2009, Haik Aftandilian wrote:
> 
>> Sebastien Roy wrote:
>>> This architecture is not extensible.  Is it inconceivable that other
>>> subsystems may be interested in these events in the future (or even
>>> today)?  There is no provision here for multiple callbacks, and the
>>> callbacks have names that are clustering specific.  Was any
>>> consideration given to this?
>> Yes, we considered adding a callback registration API so that interested
>> parties could register their own suspend callbacks, but decided against that
>> because, at present, Sun Cluster is the only interested party that needs
>> in-kernel notifications. The callbacks were specifically requested by Sun
>> Cluster and are only to be used by Sun Cluster. This is the model used by Sun
>> Cluster and ON in other kernel subsystems.
>>
>> We also need to control which callbacks occur. At present we don't want other
>> kernel subsystems to register callbacks that could cause a suspend operation
>> to fail. Users expect migrations to succeed when all the conditions outlined
>> in the LDom documentation are met. Today, a suspend (initiated by the HV as
>> part of a domain migration) has no Solaris hooks and Solaris is not aware of 
>> a
>> suspend/resume. This process is being changed so that Solaris will be aware 
>> of
>> suspend/resume, but we want to continue that model as much as possible, only
>> making an exception for Sun Cluster here.
> 
>   Solaris *is* aware of suspend/resume, it is just not obvious to me 
> that existing work/teams are being considered the project team.  As I 
> previously mentioned, it does appear as if the problems and needs by 
> guest migration are identical to the problems and needs by suspending 
> bare metal machine (including "this cannot fail").  So why doesn't 
> this proposal/project wish to align itself with that work (possibly 
> using callbacks that already exist)?  How will this project align with 
> the Solaris core work?

I was trying to convey how Solaris is suspended today, in supported 
software, as part of a LDom domain migration. The hypervisor stops the 
CPU. Only single-CPU domains can be suspended. No Solaris changes were 
made for this. CPR is not used. I believe this is similar to xVM 
migration on x86.

I bring this up because it is a stark contrast with CPR. CPR extends to 
userland, kernel threads, devices drivers, etc. sun4v LDom suspend 
touches very little.

To answer your question, we are not aligning the hypervisor-based 
suspend for LDoms with existing Solaris "Checkpoint/Resume" CPR. 
Practically all of the *common* CPR code does not apply to an LDom 
suspend. We think the differences are significant enough for it to not 
be worth combining the two.

Thanks,
Haik


> 
> 
>       ---- Randy
>   
>> Lastly, in LDoms, a suspend operation only occurs to permit a domain 
>> migration
>> and this is initiated by the management software on a separate control 
>> domain.
>> The LDom management software is not ready to account for an arbitrary number
>> of pre/post callbacks which could take any length of time. Certain operations
>> are blocked when a migration is in progress and so this affects usability.
>>
>> In the event that the notification scheme needs to expand in the future, we
>> will address the need. This could be with an extensible callback mechanism in
>> the kernel or an API that includes notifications issued by the domain manager
>> on the control domain.
>>
>> Thanks,
>> Haik
>>

Reply via email to