freebsd-src/sys/dev/drm2
Warner Losh 08e7819153 Make device_busy/unbusy work w/o Giant held
The vast majority of the busy/unbusy users in the tree don't acquire Giant
before calling device_busy/unbusy. However, if multiple threads are opening a
file, say, that causes the device to busy/unbusy, then we can race to the root
marking things busy. Create a new device_busy_locked and device_unbusy_locked
that are the current implemntations of device_busy and device_unbusy. Make
device_busy and unbusy acquire Giant before calling the _locked versrions. Since
we never sleep in the busy/unbusy path, Giant's single threaded semantics
suffice to keep this safe.

Sponsored by:		Netflix
Reviewed by:		hselasky, jhb
Differential Revision:	https://reviews.freebsd.org/D26284
2021-11-30 15:03:26 -07:00
..
ttm Convert consumers to vm_page_alloc_noobj_contig() 2021-10-19 21:22:56 -04:00
drm.h
drm_agpsupport.c
drm_atomic.h
drm_auth.c
drm_buffer.c
drm_buffer.h
drm_bufs.c Don't permit DRM buffer mappings to be upgraded to executable. 2020-10-06 18:13:15 +00:00
drm_context.c
drm_core.h
drm_crtc.c
drm_crtc.h
drm_crtc_helper.c
drm_crtc_helper.h
drm_dma.c
drm_dp_helper.c
drm_dp_helper.h
drm_dp_iic_helper.c
drm_drv.c
drm_edid.c
drm_edid.h
drm_edid_modes.h
drm_fb_helper.c
drm_fb_helper.h
drm_fixed.h
drm_fops.c Make device_busy/unbusy work w/o Giant held 2021-11-30 15:03:26 -07:00
drm_fourcc.h
drm_gem.c Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
drm_gem_names.c Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
drm_gem_names.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
drm_global.c
drm_global.h
drm_hashtab.c
drm_hashtab.h
drm_ioc32.c
drm_ioctl.c
drm_irq.c
drm_linux_list.h
drm_linux_list_sort.c Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
drm_lock.c
drm_mem_util.h
drm_memory.c
drm_mm.c
drm_mm.h
drm_mode.h
drm_modes.c
drm_os_freebsd.c drm2: Fix build after r365264 2020-09-03 05:25:39 +00:00
drm_os_freebsd.h drm2: Further improve deprecation message 2020-09-02 18:04:49 +00:00
drm_pci.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (5 of many) 2020-02-16 17:11:54 +00:00
drm_pciids.h
drm_platform.c Fix some common typos in source code comments 2021-08-14 08:55:58 +02:00
drm_sarea.h
drm_scatter.c
drm_stub.c
drm_sysctl.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (5 of many) 2020-02-16 17:11:54 +00:00
drm_vm.c
drmP.h