[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 1/4] xen: introduce a helper to allocate non-contiguous memory
>>> On 11.05.15 at 11:52, <roger.pau@xxxxxxxxxx> wrote: > El 11/05/15 a les 9.42, Jan Beulich ha escrit: >>>>> On 08.05.15 at 16:34, <roger.pau@xxxxxxxxxx> 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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |