[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 15/18] xen/mem_sharing: VM forking
On Thu, Jan 9, 2020 at 8:10 AM Roger Pau Monné <roger.pau@xxxxxxxxxx> wrote: > > On Thu, Jan 09, 2020 at 06:41:12AM -0700, Tamas K Lengyel wrote: > > On Thu, Jan 9, 2020 at 3:29 AM Julien Grall <julien@xxxxxxx> wrote: > > > > > > Hi Tamas, > > > > > > On 08/01/2020 17:14, Tamas K Lengyel wrote: > > > > +static int mem_sharing_fork(struct domain *d, struct domain *cd) > > > > +{ > > > > + int rc; > > > > + > > > > + if ( !d->controller_pause_count && > > > > + (rc = domain_pause_by_systemcontroller(d)) ) > > > > > > AFAIU, the parent domain will be paused if it wasn't paused before and > > > this will not be unpaused by the same hypercall. Right? > > > > Yes, it needs to remain paused as long as there are forks active from > > it. Afterwards it can be unpaused. > > If you want the parent domain to remain paused for as long as the > forks are active, shouldn't each fork increment the pause count on > creation and decrement it when the fork is destroyed? That would work. > > How can you assure no other operation or entity has incremented > controller_pause_count temporary and is likely to decrement it at some > point while forks are still active? Right now we don't do sanity checks. It is just expected that the user is not doing anything insane like that - I would argue that for an experimental system (one that is even hidden behind CONFIG_EXPERT) an assumption like that is safe to make. But doing the pause/unpause combo you describe above is pretty simple and should get the job done. Tamas _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |