[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] Ehancement to domU suspend/resume
>From: Keir Fraser [mailto:keir@xxxxxxxxxxxxx] >Sent: 2007年1月18日 15:04 > >On 18/1/07 2:41 am, "Tian, Kevin" <kevin.tian@xxxxxxxxx> wrote: > >>> freeze_processes(); >>> device_suspend(); >>> device_power_down(); > >>> device_power_up(); >>> device_resume(); >>> thaw_processes(); > >Any idea what cost this adds for a non driver domain? In particular, what >does freeze/thaw do? > > -- Keir Freeze basically puts all other processes into a frozen point with no lock held. For kernel thread, each one is required to check freezing flag (by try_to_freeze) at each loop out of critical chunk, and then yield or sleep if set. For user space process, a dummy signal notification is sent to that process which will then check freezing flag when do_signal before returning to user space. This can assure all processes falling into a save point before drivers are ready to suspend. Thaw just does the reverse to unfreeze them when resume. Yes, it may have to wait some time for all processes to be frozen, and I have no estimation. But it's a necessary step to put whole box into a stable state. Is there any flag to check whether current domU is a driver domain? Then we can differentiate two paths. Thanks, Kevin _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |