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