"Manuel Bouyer" <bou...@netbsd.org> wrote: > Module Name: src > Committed By: bouyer > Date: Mon Feb 20 19:14:24 UTC 2012 > > Modified Files: > src/sys/uvm: uvm_km.c uvm_kmguard.c uvm_map.c > > Log Message: > When using uvm_km_pgremove_intrsafe() make sure mappings are removed > before returning the pages to the free pool. Otherwise, under Xen, > a page which still has a writable mapping could be allocated for > a PDP by another CPU and the hypervisor would refuse it (this is > PR port-xen/45975). > For this, move the pmap_kremove() calls inside uvm_km_pgremove_intrsafe(), > and do pmap_kremove()/uvm_pagefree() in batch of (at most) 16 entries > (as suggested by Chuck Silvers on tech-kern@, see also > http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012727.html and > followups).
Why did you ignore my comment on tech-kern@ about batching? I still think it is unnecessary. Such optimisations should be done in MD side, instead of adding complexity to MI. -- Mindaugas