From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mukesh Rathor Subject: pvh dom0: memory leak from iomem map Date: Tue, 3 Jun 2014 18:29:48 -0700 Message-ID: <20140603182948.073180cf@mantra.us.oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: 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: "Xen-devel@lists.xensource.com" , Jan Beulich List-Id: xen-devel@lists.xenproject.org Hi Tim, When building a dom0 pvh, we populate the p2m with 0..N pfns upfront. Then in pvh_map_all_iomem, we walk the e820 and map all iomem 1:1. As such any iomem range below N would cause those ram frames to be silently dropped. Since the holes could be pretty big, I am concenred this could result in significant loss of frames. In my very early patches I had: set_typed_p2m_entry(): ... else if ( p2m_is_ram(ot) ) { if ( is_pvh_domain(d) ) <--- free_domheap_page(mfn_to_page(omfn)); <--- ASSERT(mfn_valid(omfn)); set_gpfn_from_mfn(mfn_x(omfn), INVALID_M2P_ENTRY); .. I'd like you to reconsider it. Since there is a dislike using is_pvh, I suppose one alternative could be, 'if ( gfn_p2mt == p2m_mmio_direct)'. If you have any other suggestions, I'm open to them. LMK your thoughts.. Thanks, Mukesh