1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-01 12:19:28 +00:00
freebsd/sys
Alan Cox 1c951556bc MFamd64/i386
Introduce pmap_try_insert_pv_entry(), a function that conditionally
  creates a pv entry if the number of entries is below the high water mark
  for pv entries.

  Introduce pmap_enter_quick_locked() and use it to reimplement
  pmap_enter_object().  The old implementation was broken.  For example,
  it could block while holding a mutex lock.

  Change pmap_enter_quick_locked() to fail rather than wait if it is
  unable to allocate a page table page.  This prevents a race between
  pmap_enter_object() and the page daemon.  Specifically, an inactive
  page that is a successor to the page that was given to
  pmap_enter_quick_locked() might become a cache page while
  pmap_enter_quick_locked() waits and later pmap_enter_object() maps
  the cache page violating the invariant that cache pages are never
  mapped.  Similarly, change
  pmap_enter_quick_locked() to call pmap_try_insert_pv_entry() rather
  than pmap_insert_entry().  Generally speaking,
  pmap_enter_quick_locked() is used to create speculative mappings.  So,
  it should not try hard to allocate memory if free memory is scarce.

Tested by:	gonzo
2009-04-20 03:44:54 +00:00
..
amd64 Add description and cautionary note regarding CACHE_LINE_SIZE. 2009-04-19 21:26:36 +00:00
arm Add description and cautionary note regarding CACHE_LINE_SIZE. 2009-04-19 21:26:36 +00:00
boot A simple rewrite of biossmap.c: 2009-04-15 17:31:22 +00:00
bsm Merge OpenBSM 1.1 from OpenBSM vendor branch to head. 2009-04-19 16:17:13 +00:00
cam Remove unused SESUNIT() macro from ses(4). 2009-04-18 07:39:11 +00:00
cddl Remove VOP_LEASE and supporting functions. This hasn't been used since 2009-04-10 10:52:19 +00:00
compat Remove support for FUTEX_REQUEUE operation. 2009-04-19 13:48:42 +00:00
conf Merge OpenBSM 1.1 changes to the FreeBSD 8.x kernel: 2009-04-19 14:53:17 +00:00
contrib Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
crypto
ddb Prefer prototypes to k&r definitions. 2009-03-09 13:32:19 +00:00
dev Cleanup resource allocation code a bit. Store the rids on the 2009-04-20 01:19:59 +00:00
fs Remove VOP_LEASE and supporting functions. This hasn't been used since 2009-04-10 10:52:19 +00:00
gdb
geom - Remove assertion of topology lock remaining from 7.x gvinum. It is not needed, 2009-04-18 16:36:27 +00:00
gnu Fix two issues with bufdaemon, often causing the processes to hang in 2009-03-16 15:39:46 +00:00
i386 Add description and cautionary note regarding CACHE_LINE_SIZE. 2009-04-19 21:26:36 +00:00
ia64 Add description and cautionary note regarding CACHE_LINE_SIZE. 2009-04-19 21:26:36 +00:00
isa Allow syscons to work on amd64 and i386 without any hints: 2009-03-05 19:10:17 +00:00
kern Lock the interface address list while iterating a network interface's 2009-04-19 21:36:18 +00:00
kgssapi
legacy/dev Remove kue_fw.h, missed in previous IFF_NEEDSGIANT USB driver garbage 2009-04-17 09:48:20 +00:00
libkern Add memmove() to the kernel, making the kernel compile with Clang. 2009-02-28 16:21:25 +00:00
mips MFamd64/i386 2009-04-20 03:44:54 +00:00
modules Build sound modules on PowerPC. 2009-04-19 21:37:45 +00:00
net update TODO list 2009-04-19 04:39:42 +00:00
net80211 Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
netatalk Lock interface address list lock around ifaddr inserts and deletes 2009-04-19 22:01:38 +00:00
netgraph Lock the interface address list while building replies to 2009-04-19 22:05:39 +00:00
netinet Lock the interface address list when searching for a matching interface 2009-04-19 22:34:35 +00:00
netinet6 Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
netipsec Introduce vnet module registration / initialization framework with 2009-04-11 05:58:58 +00:00
netipx Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
netnatm Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced 2009-03-15 14:21:05 +00:00
netncp
netsmb
nfs Adding sys/nfs/nfssvc.h and sys/nfs/nfs_nfssvc.c in preparation for 2009-04-07 19:06:51 +00:00
nfs4client Remove VOP_LEASE and supporting functions. This hasn't been used since 2009-04-10 10:52:19 +00:00
nfsclient Remove trailing spaces 2009-04-13 19:54:33 +00:00
nfsserver Change nfsserver so that it uses the nfssvc() system call provided 2009-04-12 19:04:27 +00:00
nlm
opencrypto
pc98 Migrate the olpt(4) driver to si_drv1 instead of using dev2unit(). 2009-04-15 19:58:41 +00:00
pci intpm: minor enhancements 2009-03-16 16:15:14 +00:00
powerpc Add description and cautionary note regarding CACHE_LINE_SIZE. 2009-04-19 21:26:36 +00:00
rpc Added a field to the SVCXPRT structure that the nfsv4 server can 2009-04-16 16:26:35 +00:00
security Temporarily relax the constraints on argument size checking for A_GETCOND; 2009-04-19 23:28:08 +00:00
sparc64 Add description and cautionary note regarding CACHE_LINE_SIZE. 2009-04-19 21:26:36 +00:00
sun4v Add description and cautionary note regarding CACHE_LINE_SIZE. 2009-04-19 21:26:36 +00:00
sys Garbage collect now-unused struct malloc_type fields, bump __FreeBSD_version 2009-04-19 11:20:57 +00:00
tools Add SDT DTrace probes for VFS vnode operations in the vfs:vop 2009-03-29 03:30:15 +00:00
ufs When verifying '..' after VFS_VGET() in ufs_lookup(), do not return 2009-04-19 05:34:07 +00:00
vm In both pageout oom handler and vm_daemon, acquire the reference to 2009-04-19 20:53:47 +00:00
xdr Add memmove() to the kernel, making the kernel compile with Clang. 2009-02-28 16:21:25 +00:00
xen Fix the Xen build for i386 PV mode. 2009-04-01 17:06:28 +00:00
Makefile Removal pccard directory requires removing it from the list of things 2009-02-15 18:19:24 +00:00