|
[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 |