From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v5 1/4] xen: introduce a helper to allocate non-contiguous memory Date: Mon, 11 May 2015 11:41:29 +0100 Message-ID: <5550A3790200007800078DC1@mail.emea.novell.com> References: <1431095651-25935-1-git-send-email-roger.pau@citrix.com> <1431095651-25935-2-git-send-email-roger.pau@citrix.com> <555079810200007800078B9D@mail.emea.novell.com> <55507BEA.7030003@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Yrl9R-00022J-H4 for xen-devel@lists.xenproject.org; Mon, 11 May 2015 10:41:33 +0000 In-Reply-To: <55507BEA.7030003@citrix.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: =?UTF-8?Q?Roger=20Pau=20Monn=C3=A9?= Cc: Andrew Cooper , Tim Deegan , Stefano Stabellini , Ian Campbell , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org >>> On 11.05.15 at 11:52, wrote: > El 11/05/15 a les 9.42, Jan Beulich ha escrit: >>>>> On 08.05.15 at 16:34, wrote: >>> +void vfree(void *va) >>> +{ >>> + unsigned int i, pages = vm_size(va); >>> + >>> + if ( pages == 0 ) >>> + return; >>> + >>> + for ( i = 0; i < pages; i++ ) >>> + free_domheap_pages(vmap_to_page(va + i * PAGE_SIZE), 1); >>> + >>> + vunmap(va); >>> +} >> >> There actually is another problem here: You must not free the >> pages before having torn down the mapping. An option (to >> avoid the need for a memory allocation) might be to zap the >> present bits (or whatever their equivalent on ARM) in a first >> pass (making sure to flush TLBs), free, and then vunmap(). > > The aim of this is to catch reads/writes to those mappings while we are > tearing them down? No, that wouldn't be worth it. The aim is to avoid cache attribute conflicts between the to be torn down mapping and possible immediate re-uses of the pages elsewhere. Jan