Maksym Planeta, le Mon 18 Apr 2011 00:13:14 +0300, a écrit :
> When zone_gc starts collecting free memory, first it form a list
> (zone_free_page_list) of free
> pages and then by the end of function it frees this list.
> 
> Patch makes releasing of free pages on spot. So this list isn't
> needed and one for loop becomes less.

I don't think this patch can be applied. Building a list and then
freeing it was done for some reason, at least because kmem_free, (thus
vm_map_delete), may actually need to use zalloc in order to split
some areas (which is actually the reason for the double map_entry
allocation/release), which thus needs to lock the zone, and thus ends up
with a deadlock.

Samuel

Reply via email to