freebsd-nq/sys/compat
Jeff Roberson 3cf3b4e641 Make page busy state deterministic on free. Pages must be xbusy when
removed from objects including calls to free.  Pages must not be xbusy
when freed and not on an object.  Strengthen assertions to match these
expectations.  In practice very little code had to change busy handling
to meet these rules but we can now make stronger guarantees to busy
holders and avoid conditionally dropping busy in free.

Refine vm_page_remove() and vm_page_replace() semantics now that we have
stronger guarantees about busy state.  This removes redundant and
potentially problematic code that has proliferated.

Discussed with:	markj
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D22822
2019-12-22 06:56:44 +00:00
..
cloudabi Fix the last few cases that grab without busy or valid. The grab functions must 2019-12-02 22:38:25 +00:00
cloudabi32 sysent: Reduce duplication and improve readability. 2019-12-06 23:59:23 +00:00
cloudabi64 sysent: Reduce duplication and improve readability. 2019-12-06 23:59:23 +00:00
freebsd32 Copy out aux args after the argument and environment vectors. 2019-12-09 19:17:28 +00:00
ia32 Use uintptr_t instead of register_t * for the stack base. 2019-12-03 23:17:54 +00:00
lindebugfs LinuxKPI: Finalize move of lindebugfs from ports to base. 2019-05-19 15:44:21 +00:00
linprocfs linprocfs: Make sure to report -1 as tty when we have no controlling tty. 2019-11-11 00:21:05 +00:00
linsysfs Create a "drm" subdirectory for drm devices in linsysfs. Recent versions of 2019-09-23 12:27:55 +00:00
linux Add a hack to make ^T work for Linux binaries, enabled with 2019-12-16 20:15:44 +00:00
linuxkpi/common Make page busy state deterministic on free. Pages must be xbusy when 2019-12-22 06:56:44 +00:00
ndis Fix compilation with 'option NDISAPI + device ndis' and 2019-01-30 11:40:12 +00:00
netbsd sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
x86bios x86bios: use M_NOWAIT with mallocs 2018-09-13 07:04:00 +00:00