freebsd-nq/sys
Attilio Rao c7aebda8a1 The soft and hard busy mechanism rely on the vm object lock to work.
Unify the 2 concept into a real, minimal, sxlock where the shared
acquisition represent the soft busy and the exclusive acquisition
represent the hard busy.
The old VPO_WANTED mechanism becames the hard-path for this new lock
and it becomes per-page rather than per-object.
The vm_object lock becames an interlock for this functionality:
it can be held in both read or write mode.
However, if the vm_object lock is held in read mode while acquiring
or releasing the busy state, the thread owner cannot make any
assumption on the busy state unless it is also busying it.

Also:
- Add a new flag to directly shared busy pages while vm_page_alloc
  and vm_page_grab are being executed.  This will be very helpful
  once these functions happen under a read object lock.
- Move the swapping sleep into its own per-object flag

The KPI is heavilly changed this is why the version is bumped.
It is very likely that some VM ports users will need to change
their own code.

Sponsored by:	EMC / Isilon storage division
Discussed with:	alc
Reviewed by:	jeff, kib
Tested by:	gavin, bapt (older version)
Tested by:	pho, scottl
2013-08-09 11:11:11 +00:00
..
amd64 The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
arm The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
boot Update legacy static assignments in old code to support dynamic framing, 2013-08-08 22:34:00 +00:00
bsm
cam Remove droping topology mutex after iterating 100 periphs in CAMGETPASSTHRU. 2013-08-07 11:34:20 +00:00
cddl The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
compat Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
conf When newvers.sh is run, it is possible that the svnversion 2013-08-08 15:59:00 +00:00
contrib Realtek's RTL8712 firmware blob needed by the upcoming rsu(4) driver. 2013-07-29 06:53:42 +00:00
crypto Fix const propagation issues to make GCC happy. 2013-07-11 16:27:11 +00:00
ddb
dev The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
fs The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
gdb rename scheduler->swapper and SI_SUB_RUN_SCHEDULER->SI_SUB_LAST 2013-07-24 09:45:31 +00:00
geom gpt_entries is used as limit for the number of partition entries in 2013-08-08 16:09:20 +00:00
gnu/fs/reiserfs
i386 The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
ia64 The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
isa - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
kern The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
kgssapi Add support for host-based (Kerberos 5 service principal) initiator 2013-07-09 01:05:28 +00:00
libkern Fix watchdog pretimeout. 2013-07-27 20:47:01 +00:00
mips The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
modules fix fat-fingering in r253996 2013-08-06 16:18:07 +00:00
net Add a missing module version declaration to if_tun(4). 2013-08-07 01:32:08 +00:00
net80211 Convert net80211 over to using if_transmit for the dispatch from the 2013-08-08 05:09:35 +00:00
netatalk
netgraph Add constant for PPP-Max-PayLoad tag. 2013-07-23 10:25:34 +00:00
netinet Micro-optimization suggested in 2013-08-01 12:05:23 +00:00
netinet6 Fix incompatibility in ICMPV6CTL_ND6_PRLIST sysctl, and SIOCGPRLST_IN6, 2013-08-06 17:10:52 +00:00
netipsec Remove the large part of struct ipsecstat. Only few fields of this 2013-07-23 14:14:24 +00:00
netipx
netnatm Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
netpfil Fix a possible NULL-pointer dereference on the pfsync(4) reconfiguration. 2013-07-29 13:17:18 +00:00
netsmb Remove a reference to LK_DRAIN now that lockmgr(9) is gone from this 2013-06-28 20:21:13 +00:00
nfs Changes to allow using BOOTP_NFSROOT and mounting an nfs root filesystem 2013-07-31 19:14:00 +00:00
nfsclient A problem with the old NFS client where large writes to large files 2013-07-04 00:54:23 +00:00
nfsserver - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nlm
ofed - Reserve a special AF for SDP. The one we were incorrectly using before 2013-08-09 03:26:17 +00:00
opencrypto
pc98 Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
pci
powerpc The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
rpc Add support for host-based (Kerberos 5 service principal) initiator 2013-07-09 01:05:28 +00:00
security audit_proc_coredump: check return value of audit_new 2013-07-09 09:03:01 +00:00
sparc64 The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
sys The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
teken Link the demo application against ncursesw to make Unicode work. 2011-10-13 14:20:27 +00:00
tools
ufs This bug fix is in a code path in rename taken when there is a 2013-08-06 16:50:05 +00:00
vm The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
x86 Split the pagequeues per NUMA domains, and split pageademon process 2013-08-07 16:36:38 +00:00
xdr
xen Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
Makefile Remove netncp cscope entry missed in r248097 2013-03-12 14:21:52 +00:00