linux_dsm_epyc7002/drivers/gpu/drm
Chris Wilson a7980a640c drm/i915: Apply a cond_resched() to the saturated signaler
If the engine is continually completing nops, we can saturate the
signaler and keep it working indefinitely. This angers the NMI watchdog!

A good example is to disable semaphores on snb and run igt/gem_exec_nop -
the parallel, multi-engine workloads are more than sufficient to hog the
CPU, preventing the system from even processing ICMP echo replies.

v2: Tvrtko dug into cond_resched() on x86 and found that it only
depended upon preempt_count and not tif_need_resched() - which means
that we would always call schedule() at that point.

Fixes: c81d46138d ("drm/i915: Convert trace-irq to the breadcrumb waiter")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170404120531.10737-1-chris@chris-wilson.co.uk
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-04-04 13:48:21 +01:00
..
amd Linux 4.11-rc4 2017-03-28 17:34:19 +10:00
arc drm: remove drm_vblank_no_hw_counter assignment from driver code 2017-02-07 21:43:55 +01:00
arm Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
armada Merge tag 'drm-misc-next-2017-03-12' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-15 11:32:01 +10:00
ast Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
atmel-hlcdc drm/atmel-hlcdc: Fix suspend/resume implementation 2017-03-16 11:23:59 +01:00
bochs drm: bochs: Don't remove uninitialized fbdev framebuffer 2017-03-20 10:51:39 +01:00
bridge drm: bridge: dw-hdmi: add HDMI vendor specific infoframe config 2017-03-21 13:16:32 +05:30
cirrus drm/fb-helper: Automatically clean up fb_info 2017-02-07 21:36:28 +01:00
etnaviv sched/headers: Prepare to move the get_task_struct()/put_task_struct() and related APIs from <linux/sched.h> to <linux/sched/task.h> 2017-03-02 08:42:40 +01:00
exynos Linux 4.11-rc4 2017-03-28 17:34:19 +10:00
fsl-dcu drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
gma500 Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
hisilicon drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
i2c
i810 drm/i810: drop device_is_agp callback 2017-01-26 10:44:43 +01:00
i915 drm/i915: Apply a cond_resched() to the saturated signaler 2017-04-04 13:48:21 +01:00
imx Merge tag 'drm-misc-next-2017-03-21' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-23 08:53:41 +10:00
lib
mediatek drm: mediatek: use vblank hooks in struct drm_crtc_funcs 2017-02-21 11:17:54 -05:00
meson drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
mga lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
mgag200 gpu: drm: drivers: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-01 09:44:11 +01:00
msm drm/msm: add stubs for msm_{perf,rd}_debugfs_cleanup 2017-03-20 15:34:01 +01:00
mxsfb Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
nouveau Merge tag 'drm-misc-next-2017-03-21' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-23 08:53:41 +10:00
omapdrm Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
panel drm/panel: simple: Specify bus width and flags for EDT displays 2017-01-26 10:57:18 +01:00
qxl Merge tag 'drm-misc-next-2017-03-12' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-15 11:32:01 +10:00
r128 gpu: drm: drivers: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-01 09:44:11 +01:00
radeon Linux 4.11-rc4 2017-03-28 17:34:19 +10:00
rcar-du Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
rockchip Merge tag 'drm-misc-next-2017-03-12' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-15 11:32:01 +10:00
savage
selftests drm: kselftest: fix spelling mistake: "misalinged" -> "misaligned" 2017-02-26 22:54:47 +01:00
shmobile drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
sis drm: Improve drm_mm search (and fix topdown allocation) with rbtrees 2017-02-03 11:10:32 +01:00
sti drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
sun4i drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers 2017-03-14 14:38:34 +01:00
tdfx
tegra Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
tilcdc Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
tinydrm Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
ttm Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
udl Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
vc4 drm: vc4: remove redundant check of plane being non-null 2017-03-17 16:44:14 -07:00
vgem Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
via drm/via: use get_user_pages_unlocked() 2017-02-28 10:00:50 +01:00
virtio Merge tag 'drm-misc-next-2017-03-12' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-15 11:32:01 +10:00
vmwgfx Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
zte Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
ati_pcigart.c
drm_agpsupport.c drm/i810: drop device_is_agp callback 2017-01-26 10:44:43 +01:00
drm_atomic_helper.c drm/atomic: Convert get_existing_state callers to get_old/new_state, v4. 2017-03-06 11:43:05 +01:00
drm_atomic.c drm/atomic: Convert get_existing_state callers to get_old/new_state, v4. 2017-03-06 11:43:05 +01:00
drm_auth.c drm/core: Use recommened kerneldoc for struct member refs 2017-01-25 16:22:42 +01:00
drm_blend.c drm/blend: Use new atomic iterator macros. 2017-03-06 11:43:43 +01:00
drm_bridge.c
drm_bufs.c
drm_cache.c gpu: drm: core: Convert printk(KERN_<LEVEL> to pr_<level> 2017-02-28 14:32:19 +01:00
drm_color_mgmt.c drm/color: un-inline drm_color_lut_extract() 2017-01-31 15:31:58 +02:00
drm_connector.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_crtc_internal.h drm: Rename drm_mode_object_get() 2017-02-28 16:14:53 +01:00
drm_crtc.c drm: Introduce drm_framebuffer_{get,put}() 2017-02-28 16:15:03 +01:00
drm_debugfs_crc.c
drm_debugfs.c drm/debugfs: Remove the drm_driver.debugfs_cleanup callback 2017-03-08 11:29:08 +01:00
drm_dma.c
drm_dp_aux_dev.c
drm_dp_dual_mode_helper.c drm: Add name for DRM_DP_DUAL_MODE_LSPCON 2017-02-23 11:06:12 -05:00
drm_dp_helper.c drm/dp: Add missing description to parameter 2017-03-07 16:38:16 -05:00
drm_dp_mst_topology.c Less anger inducing pull request for 4.11 2017-02-23 18:58:18 -08:00
drm_drv.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
drm_dumb_buffers.c drm/kms-core: Use recommened kerneldoc for struct member refs 2017-01-25 16:30:34 +01:00
drm_edid_load.c drm: move edid property update and add modes out of edid firmware loader 2017-02-21 15:41:24 +02:00
drm_edid.c Linux 4.11-rc3 2017-03-23 12:05:13 +10:00
drm_encoder_slave.c drm/kms-core: Use recommened kerneldoc for struct member refs 2017-01-25 16:30:34 +01:00
drm_encoder.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_fb_cma_helper.c drm: Update drm_fbdev_cma_init documentation 2017-03-01 23:52:35 +01:00
drm_fb_helper.c Linux 4.11-rc4 2017-03-28 17:34:19 +10:00
drm_file.c drm/gem: Add DEFINE_DRM_GEM_FOPS 2017-03-14 14:38:34 +01:00
drm_flip_work.c
drm_fourcc.c drm: add RGB formats with separate alpha plane 2017-03-15 15:42:30 +01:00
drm_framebuffer.c drm: Introduce drm_framebuffer_{get,put}() 2017-02-28 16:15:03 +01:00
drm_gem_cma_helper.c Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
drm_gem.c drm: Introduce drm_gem_object_{get,put}() 2017-02-28 16:16:43 +01:00
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h drm: rename drm_fops.c to drm_file.c 2017-03-09 16:18:02 +01:00
drm_ioc32.c gpu: drm: core: Convert printk(KERN_<LEVEL> to pr_<level> 2017-02-28 14:32:19 +01:00
drm_ioctl.c
drm_irq.c drm: Skip the waitqueue setup for vblank queries 2017-03-16 09:51:55 +01:00
drm_kms_helper_common.c drm: Remove drmP.h include from drm_kms_helper_common.c 2017-03-09 16:18:02 +01:00
drm_legacy.h
drm_lock.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
drm_memory.c
drm_mipi_dsi.c
drm_mm.c drm: Micro-optimise drm_mm_for_each_node_in_range() 2017-02-06 16:57:37 +01:00
drm_mode_config.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_mode_object.c Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
drm_modes.c drm: Rename drm_mode_object_get() 2017-02-28 16:14:53 +01:00
drm_modeset_helper.c
drm_modeset_lock.c drm/kms-core: Use recommened kerneldoc for struct member refs 2017-01-25 16:30:34 +01:00
drm_of.c
drm_panel.c
drm_pci.c drm: Extract drm_pci.h 2017-03-09 16:18:02 +01:00
drm_plane_helper.c drm/atomic: Make drm_atomic_plane_disabling easier to understand. 2017-03-06 11:41:55 +01:00
drm_plane.c drm: Introduce drm_framebuffer_{get,put}() 2017-02-28 16:15:03 +01:00
drm_prime.c drm: Extract drm_prime.h 2017-03-09 16:18:02 +01:00
drm_print.c drm: drm_printer: add __printf validation 2017-02-26 21:43:08 +01:00
drm_probe_helper.c Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
drm_property.c drm: Introduce drm_property_blob_{get,put}() 2017-02-28 16:16:46 +01:00
drm_rect.c
drm_scatter.c
drm_scdc_helper.c drm/edid: detect SCDC support in HF-VSDB 2017-03-21 10:15:56 +02:00
drm_simple_kms_helper.c drm/atomic: Convert get_existing_state callers to get_old/new_state, v4. 2017-03-06 11:43:05 +01:00
drm_sysfs.c drm/core: Use recommened kerneldoc for struct member refs 2017-01-25 16:22:42 +01:00
drm_trace_points.c
drm_trace.h drm: Remove drm_pending_event->pid 2017-03-14 14:38:33 +01:00
drm_vm.c drm: remove unnecessary fault wrappers 2017-02-24 17:46:55 -08:00
drm_vma_manager.c drm: Improve drm_mm search (and fix topdown allocation) with rbtrees 2017-02-03 11:10:32 +01:00
Kconfig drm/fb-helper: Add multi buffer support for cma fbdev 2017-02-26 22:11:37 +01:00
Makefile drm: Add SCDC helpers 2017-03-21 10:15:39 +02:00