NetBSD/sys
chs 807fa9ea1e apply the change from arch/x86/x86/pmap.c rev. 1.266 commitid vZRjvmxG7YTHLOfA:
In pmap_enter_ma(), only try to allocate pves if we might need them,
and even if that fails, only fail the operation if we later discover
that we really do need them.  If we are replacing an existing mapping,
reuse the pv structure where possible.

This implements the requirement that pmap_enter(PMAP_CANFAIL) must not fail
when replacing an existing mapping with the first mapping of a new page,
which is an unintended consequence of the changes from the rmind-uvmplock
branch in 2011.

The problem arises when pmap_enter(PMAP_CANFAIL) is used to replace an existing
pmap mapping with a mapping of a different page (eg. to resolve a copy-on-write).
If that fails and leaves the old pmap entry in place, then UVM won't hold
the right locks when it eventually retries.  This entanglement of the UVM and
pmap locking was done in rmind-uvmplock in order to improve performance,
but it also means that the UVM state and pmap state need to be kept in sync
more than they did before.  It would be possible to handle this in the UVM code
instead of in the pmap code, but these pmap changes improve the handling of
low memory situations in general, and handling this in UVM would be clunky,
so this seemed like the better way to go.

This somewhat indirectly fixes PR 52706 on the remaining platforms where
this problem existed.
2018-01-27 23:07:36 +00:00
..
altq Reject negative indices. 2017-07-28 13:58:47 +00:00
arch apply the change from arch/x86/x86/pmap.c rev. 1.266 commitid vZRjvmxG7YTHLOfA: 2018-01-27 23:07:36 +00:00
coda Use C99 initializer for filterops 2017-10-25 08:12:37 +00:00
compat union was removed 2018-01-26 09:29:15 +00:00
conf - Coverity does not like -std=gnu99 2018-01-22 17:38:46 +00:00
crypto
ddb - add ddb.panicstackframes to avoid scrolling the interesting parts of panic 2017-12-28 17:51:19 +00:00
dev Fix typo in previous. mea culpa, mea culpa, mea maxima culpa 2018-01-26 23:36:01 +00:00
dist/pf PR/52682: David Binderman: Fix wrong assignment (in the !__NetBSD__ code) 2017-10-31 15:00:03 +00:00
external Revert namespacing of atoi(3) 2018-01-07 15:28:33 +00:00
fs Need strings.h for ffs() 2018-01-27 03:54:01 +00:00
gdbscripts Typo in previous 2017-06-05 18:44:13 +00:00
ipkdb
kern remove useless KASSERT. 2018-01-27 00:00:26 +00:00
lib PR port-alpha/52520: provide float64 -> uint64 conversion and use 2017-12-31 11:43:42 +00:00
miscfs rename some "cmdline" stuff now that it is used to print environment too 2017-12-31 03:29:18 +00:00
modules use the intermediate bus 2018-01-27 00:23:19 +00:00
net A few fixes: 2018-01-26 14:47:41 +00:00
net80211 Switch sp_timoff to u_int16_t, to prevent possible overflow in 2018-01-21 14:18:21 +00:00
netatalk Mmh, pull up the packet to ether_aarp, otherwise we're reading past the 2017-12-09 10:14:04 +00:00
netbt add HCI_SPEC_50 2017-12-21 09:30:30 +00:00
netcan Don't set IFEF_MPSAFE unless NET_MPSAFE at this point 2017-12-19 03:32:35 +00:00
netinet A few fixes: 2018-01-26 14:47:41 +00:00
netinet6 A few fixes: 2018-01-26 14:47:41 +00:00
netipsec style 2018-01-24 14:39:14 +00:00
netisdn Use C99 initializer for filterops 2017-10-25 08:12:37 +00:00
netkey
netmpls Add XXX. 2018-01-19 14:15:35 +00:00
netnatm Invalidate rtcache based on a global generation counter 2017-09-21 07:15:34 +00:00
netsmb From FreeBSD: 2017-10-03 15:27:10 +00:00
nfs Use a random opaque cookie, not kva pointer, for nfssvc(2). 2018-01-25 17:14:36 +00:00
opencrypto Fix PR kern/52910. Reported and implemented a patch by Sevan Janiyan, thanks. 2018-01-08 23:34:56 +00:00
rump implement 32-bit compat support for raidframe. 2018-01-18 00:32:48 +00:00
secmodel Make the PMC syscalls privileged. 2017-06-14 17:48:40 +00:00
stand
sys Remove port-acorn26 2018-01-24 09:04:40 +00:00
ufs fix the UVM_PAGE_TRKOWN page-locking assertion at the top of ffs_alloc() 2017-12-07 21:53:41 +00:00
uvm CID-1427737: Pacify coverity using KASSERT 2018-01-21 17:58:43 +00:00
Makefile merge the bouyer-socketcan branch to HEAD. 2017-05-27 21:02:54 +00:00