freebsd-skq/sys/fs
attilio 16c7563cf4 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
..
cd9660 - Add const-qualifiers to the arguments of isonum_*(). 2013-07-28 12:29:10 +00:00
deadfs The deadfs VOPs for vop_ioctl and vop_bmap call itself recursively, 2012-09-13 13:05:45 +00:00
devfs make path matching in devfs rules consistent and sane (and safer) 2013-07-26 14:25:58 +00:00
ext2fs Small typo. 2013-08-08 22:07:59 +00:00
fdescfs Fix several typos 2013-05-12 16:43:26 +00:00
fifofs I am comparing current pipe code with the one in 8.3-STABLE r236165, 2012-07-31 05:48:35 +00:00
fuse The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
msdosfs The fsync(2) call should sync the vnode in such way that even after 2013-05-02 20:00:11 +00:00
nandfs - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nfs The NFSv4 server incorrectly assumed that the high order words of 2013-07-20 22:35:32 +00:00
nfsclient Add support for host-based (Kerberos 5 service principal) initiator 2013-07-09 01:05:28 +00:00
nfsserver - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nullfs The tvp vnode on rename is usually unlinked. Drop the cached null 2013-07-04 19:01:18 +00:00
procfs Relax the vm object locking. Use a read lock. 2013-06-05 17:00:10 +00:00
pseudofs Complete MPSAFE VFS interface and remove MNTK_MPSAFE flag. 2012-11-09 18:02:25 +00:00
smbfs - Fix double frees/user after free. 2013-07-03 10:31:45 +00:00
tmpfs The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
udf Add currently unused flag argument to the cluster_read(), 2013-03-14 20:28:26 +00:00
unionfs r16312 is not any longer real since many years (likely since when VFS 2012-11-19 22:43:45 +00:00