kernel - pmap (i386) - Reduce kmem use for foreign pmap mapping
* We've been having problems running out of KVA on i386 systems due to
numerous reasons. KVA use by the kernel is just too tight.
* Reserve space for foreign pmap page table mappings on a cpu-by-cpu basis
instead of for SMP_MAXCPU. This reduces KVM use from 68MB to (ncpu*4MB).
Use the APT entry for cpu0 and use kmem_alloc_nofault() for the APs.
This frees up 52MB of KVA which doesn't sound like a lot but actually
is.
* Add an alignment argument to kmem_alloc_nofault() and vm_map_find().
* vm_map_findspace() already had an alignment argument, but adjust the
value passed to be at least PAGE_SIZE (this has no operational effect
but is more correct).
25 files changed: