On 2015/07/08 15:53, Mark Kettenis wrote: > Index: uvm_map.c .. > @@ -2466,8 +2470,7 @@ uvm_map_teardown(struct vm_map *map) > if ((entry = RB_ROOT(&map->addr)) != NULL) > DEAD_ENTRY_PUSH(&dead_entries, entry); > while (entry != NULL) { > - if (waitok) > - uvm_pause(); > + sched_pause();
ah, slightly different than the one I've tried before which had uvm_pause instead of sched_pause here plus an extra change in uvm_glue.c. I'll give this a spin on i386 after my current build finishes. FWIW I've been running the previous version on amd64 for ages with very positive results.