Re: uvm_grow(): serialize updates

2020-10-16 Thread Theo de Raadt
Mark Kettenis wrote: > > /* For user defined stacks (from sendsig). */ > > if (sp < (vaddr_t)vm->vm_maxsaddr) > > - return; > > + goto out; > > Since vm_maxsaddr is ummutable, this check can be done without holding > the lock. I think that's worth it as it will preve

Re: uvm_grow(): serialize updates

2020-10-16 Thread Mark Kettenis
> Date: Wed, 14 Oct 2020 12:01:10 +0200 > From: Martin Pieuchot > > Getting uvm_fault() out of the KERNEL_LOCK() alone is not enough to > reduce the contention due to page faults. A single part of the handler > spinning on the lock is enough to hide bugs and increase latency. One > recent examp

uvm_grow(): serialize updates

2020-10-14 Thread Martin Pieuchot
Getting uvm_fault() out of the KERNEL_LOCK() alone is not enough to reduce the contention due to page faults. A single part of the handler spinning on the lock is enough to hide bugs and increase latency. One recent example is the uvm_map_inentry() check. uvm_grow() is another small function cal