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

Re: [Xen-devel] [PATCH v3 1/4] x86/mem_sharing: reorder when pages are unlocked and released



On Mon, Apr 29, 2019 at 9:01 AM Jan Beulich <JBeulich@xxxxxxxx> wrote:
>
> >>> On 26.04.19 at 19:21, <tamas@xxxxxxxxxxxxx> wrote:
> > @@ -999,6 +996,10 @@ static int share_pages(struct domain *sd, gfn_t sgfn, 
> > shr_handle_t sh,
> >      mem_sharing_page_unlock(secondpg);
> >      mem_sharing_page_unlock(firstpg);
> >
> > +    BUG_ON(!put_count);
> > +    while ( put_count-- )
> > +        put_page_and_type(cpage);
> > +
> >      /* Free the client page */
> >      if(test_and_clear_bit(_PGC_allocated, &cpage->count_info))
> >          put_page(cpage);
>
> If this was to happen before all the put_page_and_type() calls,
> wouldn't it render unnecessary the extra get_page()/put_page()
> around this code region?

It would - I already sent a version of the patch in that form but
there was unease expressed by George going that route because of the
complexity of the code and in his view it's the safe bet to keep the
extra references. I think the overhead of grabbing the extra
references is negligible enough that I'm not going to argue over it.

Tamas

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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