linux_dsm_epyc7002/drivers/gpu/drm
Chris Wilson 93e89ac853 drm/i915/gem: Wait on unbind barriers when invalidating userptr
When we are told we have to drop all references to userptr, wait for any
barriers required for unbinding.

<4> [2055.808787] WARNING: CPU: 3 PID: 6239 at mm/mmu_notifier.c:472 __mmu_notifier_invalidate_range_start+0x1f2/0x250
<4> [2055.808792] Modules linked in: vgem mei_hdcp snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic x86_pkg_temp_thermal coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel r8169 lpc_ich realtek i915 snd_hda_intel snd_intel_dspcfg snd_hda_codec snd_hwdep snd_hda_core pinctrl_broxton snd_pcm pinctrl_intel mei_me intel_lpss_pci mei prime_numbers [last unloaded: vgem]
<4> [2055.808834] CPU: 3 PID: 6239 Comm: gem_userptr_bli Tainted: G     U            5.5.0-rc1-CI-CI_DRM_7522+ #1
<4> [2055.808839] Hardware name:  /NUC6CAYB, BIOS AYAPLCEL.86A.0049.2018.0508.1356 05/08/2018
<4> [2055.808847] RIP: 0010:__mmu_notifier_invalidate_range_start+0x1f2/0x250
<4> [2055.808853] Code: c2 48 c7 c7 70 17 2e 82 44 89 45 d4 48 8b 70 28 e8 ec 01 ef ff 41 f6 46 20 01 44 8b 45 d4 75 0a 41 83 f8 f5 44 89 7d d4 74 89 <0f> 0b 44 89 45 d4 eb 81 0f 0b 49 8b 46 18 49 8b 76 10 4c 89 ff 48
<4> [2055.808858] RSP: 0018:ffffc90002937d40 EFLAGS: 00010202
<4> [2055.808865] RAX: 0000000000000061 RBX: ffff8882703a33e0 RCX: 0000000000000001
<4> [2055.808870] RDX: 0000000000000000 RSI: ffff888277da8cb8 RDI: 00000000ffffffff
<4> [2055.808874] RBP: ffffc90002937d70 R08: 00000000fffffff5 R09: 0000000000000000
<4> [2055.808879] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001
<4> [2055.808884] R13: ffffffff822e1716 R14: ffffc90002937d80 R15: 00000000fffffff5
<4> [2055.808890] FS:  00007fda75004e40(0000) GS:ffff888277d80000(0000) knlGS:0000000000000000
<4> [2055.808895] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4> [2055.808900] CR2: 000055ad72ec3000 CR3: 00000002697b2000 CR4: 00000000003406e0
<4> [2055.808904] Call Trace:
<4> [2055.808920]  unmap_vmas+0x13e/0x150
<4> [2055.808937]  unmap_region+0xa3/0x100
<4> [2055.808964]  __do_munmap+0x26d/0x490
<4> [2055.808980]  __vm_munmap+0x66/0xc0
<4> [2055.808994]  __x64_sys_munmap+0x12/0x20
<4> [2055.809001]  do_syscall_64+0x4f/0x220

Closes: https://gitlab.freedesktop.org/drm/intel/issues/771
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191210133719.3874455-1-chris@chris-wilson.co.uk
2019-12-11 11:28:01 +00:00
..
amd drm msm + fixes for 5.5-rc1 2019-12-06 10:28:09 -08:00
arc Merge tag 'arcpgu-updates-2019.07.18' of github.com:abrodkin/linux into drm-next 2019-11-14 09:28:46 +10:00
arm Linux 5.4-rc7 2019-11-14 05:53:10 +10:00
armada
aspeed
ast
atmel-hlcdc
bochs
bridge This is the bulk of GPIO changes for the v5.5 kernel cycle 2019-12-01 17:56:50 -08:00
cirrus
etnaviv Linux 5.4-rc7 2019-11-14 05:53:10 +10:00
exynos drm/exynos: Move static keyword to the front of declaration 2019-10-28 21:12:27 +09:00
fsl-dcu
gma500
hisilicon
i2c
i810
i915 drm/i915/gem: Wait on unbind barriers when invalidating userptr 2019-12-11 11:28:01 +00:00
imx
ingenic
lib
lima
mcde
mediatek Mediatek DRM next for Linux 5.5 - 2 2019-11-08 13:19:55 +10:00
meson
mga
mgag200 drm/mgag200: Add workaround for HW that does not support 'startadd' 2019-11-27 08:11:11 +01:00
msm Merge tag 'drm-msm-next-2019-11-05' of https://gitlab.freedesktop.org/drm/msm into drm-next 2019-12-02 10:21:12 +10:00
mxsfb
nouveau hmm related patches for 5.5 2019-11-30 10:33:14 -08:00
omapdrm drm/omap: fix dma_addr refcounting 2019-12-04 19:11:28 +02:00
panel
panfrost Linux 5.4-rc7 2019-11-14 05:53:10 +10:00
pl111
qxl
r128
radeon drm msm + fixes for 5.5-rc1 2019-12-06 10:28:09 -08:00
rcar-du
rockchip
savage
scheduler drm/sched: Avoid job cleanup if sched thread is parked. 2019-11-07 18:08:07 -05:00
selftests
shmobile
sis
sti
stm
sun4i drm main pull for 5.5-rc1 2019-11-27 17:45:48 -08:00
tdfx
tegra drm/tegra: Run hub cleanup on ->remove() 2019-12-04 13:38:16 +01:00
tilcdc
tiny Merge tag 'topic/drm-mipi-dsi-dsc-updates-2019-11-11' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next-queued 2019-11-20 15:54:38 +02:00
ttm Merge branch 'vmwgfx-coherent' of git://people.freedesktop.org/~thomash/linux into drm-next 2019-11-28 14:33:01 +10:00
tve200
udl
v3d Linux 5.4-rc7 2019-11-14 05:53:10 +10:00
vboxvideo drm/vboxvideo: Use drm_gem_fb_create_with_dirty instead of drm_gem_fb_create 2019-10-29 13:10:07 +01:00
vc4
vgem
via
virtio
vkms
vmwgfx Merge branch 'vmwgfx-coherent' of git://people.freedesktop.org/~thomash/linux into drm-next 2019-11-28 14:33:01 +10:00
xen
zte
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c Linux 5.4-rc7 2019-11-14 05:53:10 +10:00
drm_atomic_state_helper.c
drm_atomic_uapi.c
drm_atomic.c
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_client_modeset.c
drm_client.c
drm_color_mgmt.c
drm_connector.c drm main pull for 5.5-rc1 2019-11-27 17:45:48 -08:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c
drm_crtc_internal.h
drm_crtc.c
drm_damage_helper.c
drm_debugfs_crc.c
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c
drm_dp_mst_topology_internal.h
drm_dp_mst_topology.c drm/dp_mst: Correct the bug in drm_dp_update_payload_part1() 2019-12-04 15:31:16 -05:00
drm_drv.c
drm_dsc.c
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: Remove drm_fb_helper_defio_init() and update docs 2019-10-28 10:07:54 +01:00
drm_file.c drm: Expose a method for creating anonymous struct file around drm_minor 2019-11-07 21:22:15 +00:00
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm/gem: Fix mmap fake offset handling for drm_gem_object_funcs.mmap 2019-10-29 13:29:21 -05:00
drm_gem_ttm_helper.c drm/ttm: fix mmap refcounting 2019-11-15 08:00:08 +01:00
drm_gem_vram_helper.c
drm_gem.c drm/ttm: fix mmap refcounting 2019-11-15 08:00:08 +01:00
drm_hashtab.c
drm_hdcp.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_irq.c
drm_kms_helper_common.c
drm_lease.c
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dbi.c
drm_mipi_dsi.c drm/dsi: add helpers for DSI compression mode and PPS packets 2019-11-07 15:00:16 +02:00
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel_orientation_quirks.c
drm_panel.c
drm_pci.c
drm_plane_helper.c
drm_plane.c
drm_prime.c
drm_print.c
drm_probe_helper.c
drm_property.c drm: limit to INT_MAX in create_blob ioctl 2019-12-04 19:44:13 -08:00
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c drm/atomic: fix self-refresh helpers crtc state dereference 2019-11-06 13:00:21 -05:00
drm_simple_kms_helper.c
drm_syncobj.c
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank.c
drm_vm.c
drm_vma_manager.c
drm_vram_helper_common.c
drm_writeback.c
Kconfig Merge drm/drm-next into drm-intel-next-queued 2019-12-11 11:13:50 +02:00
Makefile