On Mon, Apr 29, 2019 at 9:01 AM Jan Beulich <jbeul...@suse.com> wrote: > > >>> On 26.04.19 at 19:21, <ta...@tklengyel.com> 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@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel