From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mukesh Rathor Subject: Re: [V15 PATCH 1/2] pvh dom0: Add and remove foreign pages Date: Fri, 23 May 2014 15:37:00 -0700 Message-ID: <20140523153700.273c3d8d@mantra.us.oracle.com> References: <1400801431-31373-1-git-send-email-mukesh.rathor@oracle.com> <1400801431-31373-2-git-send-email-mukesh.rathor@oracle.com> <20140523190534.GA86158@deinos.phlegethon.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Wny5T-0002JI-Gm for xen-devel@lists.xenproject.org; Fri, 23 May 2014 22:37:15 +0000 In-Reply-To: <20140523190534.GA86158@deinos.phlegethon.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Tim Deegan Cc: JBeulich@suse.com, George.Dunlap@eu.citrix.com, eddie.dong@intel.com, keir.xen@gmail.com, jun.nakajima@intel.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org On Fri, 23 May 2014 21:05:34 +0200 Tim Deegan wrote: > At 16:30 -0700 on 22 May (1400772630), Mukesh Rathor wrote: > > In this patch, a new function, p2m_add_foreign(), is added > > to map pages from a foreign guest into dom0 for various purposes > > like domU creation, running xentrace, etc... Such pages are > > typed p2m_map_foreign. Note, it is the nature of such pages > > that a refcnt is held during their stay in the p2m. The > > refcnt is added and released in the low level ept function > > atomic_write_ept_entry. That macro is converted to a function to > > allow for such refcounting, which only applies to leaf entries in > > the ept. Furthermore, please note that paging/sharing is disabled > > if the controlling or hardware domain is pvh. Any enabling of those > > features would need to ensure refcnt are properly maintained for > > foreign types, or paging/sharing is skipped for foreign types. > > > > Also, we change get_pg_owner so it allows foreign mappings for pvh. > > But you no longer actually call get_pg_owner() for PVH domains, right? > So that hunk should go away. With that done, Hi Tim, We actually need get_pg_owner for the mmuext call by the toolstack when building a PV domain, doing pinning operations on the guest table. Alternates would be to call rcu directly in do_mmuext_op: if ( pvh ) if ( DOMID_SELF ) rcu_lock_current_domain else if ( DOMID_IO || DOMID_XEN ) error else rcu_lock_domain_by_id else get_pg_owner OR, if you prefer in get_pg_owner(): .. case DOMID_IO: if ( !is_pvh_domain(curr) ) pg_owner = rcu_lock_domain(dom_io); break; ... Please lmk asap: leave as is, first suggestion above, or second suggestion above. thanks a lot, mukesh