opnsense-src/sys/dev/xen
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
..
balloon xen: remove direct usage of HYPERVISOR_start_info 2018-07-19 07:54:45 +00:00
blkback vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
blkfront Implement support for online disk capacity changes. 2019-03-30 07:20:28 +00:00
console Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
control xen/ctrl: acknowledge all control requests 2019-10-01 08:21:41 +00:00
debug Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
evtchn xen/evtchn: fix LOR in evtchn device 2018-05-24 10:20:42 +00:00
gntdev Make page busy state deterministic on free. Pages must be xbusy when 2019-12-22 06:56:44 +00:00
grant_table xen/grants: fix deadlocks in the free callbacks 2018-07-30 11:41:51 +00:00
netback Remove an unneeded include of opt_sctp.h. 2019-10-11 17:23:23 +00:00
netfront xen/netfront: Ensure curvnet is set 2018-08-23 16:52:52 +00:00
pci Associate device_t objects with ACPI handles via PCI_CHILD_ADDED(). 2016-04-07 17:15:16 +00:00
pcifront sys/dev: further adoption of SPDX licensing ID tags. 2017-11-20 19:36:21 +00:00
privcmd Make page busy state deterministic on free. Pages must be xbusy when 2019-12-22 06:56:44 +00:00
pvcpu xen: attach the PV CPU if no CPU device is present 2018-07-19 08:00:52 +00:00
timer Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
xenpci sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
xenstore xen: remove direct usage of HYPERVISOR_start_info 2018-07-19 07:54:45 +00:00