freebsd-dev/sys/dev/drm2/ttm
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
..
ttm_agp_backend.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_bo_api.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_bo_driver.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_bo_manager.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_bo_util.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_bo_vm.c Make page busy state deterministic on free. Pages must be xbusy when 2019-12-22 06:56:44 +00:00
ttm_bo.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_execbuf_util.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_execbuf_util.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_lock.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_lock.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_memory.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_memory.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_module.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_object.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_object.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_page_alloc_dma.c Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_page_alloc.c Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
ttm_page_alloc.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_placement.h Revert drm2 removal. 2018-08-24 00:02:00 +00:00
ttm_tt.c (4/6) Protect page valid with the busy lock. 2019-10-15 03:45:41 +00:00