linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson 2cfcd32a92 drm/i915: Implement an oom-notifier for last resort shrinking
Before the process killer is invoked, oom-notifiers are executed for one
last try at recovering pages. We can hook into this callback to be sure
that everything that can be is purged from our page lists, and to give a
summary of how much memory is still pinned by the GPU in the case of an
oom. This should be really valuable for debugging OOM issues.

Note that the last-ditch effort call to shrink_all we've previously
called from our normal shrinker when we could free as much as the vm
demaned is moved into the oom notifier. Since the shrinker accounting
races against bind/unbind operations we might have called shrink_all
prematurely, which this approach with an oom notifier avoids.

References: https://bugs.freedesktop.org/show_bug.cgi?id=72742
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Tested-by: lu hua <huax.lu@intel.com>
[danvet: Bikeshed logical | into || and pimp commit message.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-20 10:57:13 +02:00
..
dvo_ch7xxx.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ch7017.c
dvo_ivch.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ns2501.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_sil164.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_tfp410.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo.h
i915_cmd_parser.c drm/i915: Use hash tables for the command parser 2014-05-12 19:15:51 +02:00
i915_debugfs.c drm/i915: Use for_each_intel_crtc() when iterating through intel_crtcs 2014-05-14 00:38:24 +02:00
i915_dma.c drm/i915: Include bound and active pages in the count of shrinkable objects 2014-05-20 09:46:06 +02:00
i915_drv.c drm/i915: Use for_each_crtc() when iterating through the CRTCs 2014-05-14 00:38:46 +02:00
i915_drv.h drm/i915: Implement an oom-notifier for last resort shrinking 2014-05-20 10:57:13 +02:00
i915_gem_context.c drm/i915: Only unpin the default ctx object if it exists 2014-05-16 21:41:12 +02:00
i915_gem_debug.c
i915_gem_dmabuf.c drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
i915_gem_evict.c
i915_gem_execbuffer.c drm/i915: Retire requests before creating a new one 2014-05-19 15:30:56 +02:00
i915_gem_gtt.c drm/i915/chv: Implement stolen memory size detection 2014-05-13 14:13:22 +02:00
i915_gem_gtt.h drm/i915/chv: PPAT setup for Cherryview 2014-05-06 18:29:34 +02:00
i915_gem_render_state.c drm/i915: add render state initialization 2014-05-14 19:16:13 +02:00
i915_gem_stolen.c
i915_gem_tiling.c
i915_gem_userptr.c drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
i915_gem.c drm/i915: Implement an oom-notifier for last resort shrinking 2014-05-20 10:57:13 +02:00
i915_gpu_error.c drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
i915_ioc32.c
i915_irq.c drm/i915: Convert uncleared FIFO underrun message to errors 2014-05-16 19:31:35 +02:00
i915_params.c drm/i915: Add debug module option for VTd validation 2014-04-03 11:23:11 +02:00
i915_reg.h drm/i915: Fix ILK GPU reset domain bits 2014-05-20 10:45:04 +02:00
i915_suspend.c
i915_sysfs.c drm/i915: get a runtime PM ref for debugfs entries where needed 2014-05-05 09:08:55 +02:00
i915_trace_points.c
i915_trace.h drm/i915: Add pipe update trace points 2014-05-06 10:18:03 +02:00
i915_ums.c
intel_acpi.c
intel_bios.c drm/i915: Validate VBT header before trusting it 2014-05-05 09:08:59 +02:00
intel_bios.h Merge tag 'drm-intel-next-2014-04-16' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-05-01 09:11:37 +10:00
intel_crt.c drm/i915/crt: Remove ->mode_set callback 2014-05-05 10:56:59 +02:00
intel_ddi.c drm/i915/ddi: Remove ->mode_set callback 2014-05-16 11:59:29 +02:00
intel_display.c drm/i915: Don't die in wait_for_pending_flips 2014-05-19 17:53:05 +02:00
intel_dp.c drm/i915/dp: Remove ->mode_set callback 2014-05-16 11:58:48 +02:00
intel_drv.h drm/i915: Track has_audio in the pipe config 2014-05-16 11:58:26 +02:00
intel_dsi_cmd.c drm/i915: Send DPI command explicitely in LP mode 2014-04-09 21:54:30 +02:00
intel_dsi_cmd.h drm/i915: Send DPI command explicitely in LP mode 2014-04-09 21:54:30 +02:00
intel_dsi_pll.c
intel_dsi.c drm/i915: Add MIPI mmio reg base 2014-05-19 17:56:40 +02:00
intel_dsi.h drm/i915: MIPI PPS delays added 2014-05-15 22:44:21 +02:00
intel_dvo.c drm/i915/dvo: Remove ->mode_set callback 2014-05-05 10:56:55 +02:00
intel_fbdev.c drm/i915: Use the connector name in fbdev debug messages 2014-05-14 12:10:45 +02:00
intel_hdmi.c drm/i915/hdmi: Remove ->mode_set callback 2014-05-16 11:59:02 +02:00
intel_i2c.c
intel_lvds.c drm/i915/lvds: Remove ->mode_set callback 2014-05-16 11:59:09 +02:00
intel_modes.c
intel_opregion.c
intel_overlay.c Merge tag 'drm-intel-fixes-2014-04-04' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-04-05 16:14:21 +10:00
intel_panel.c Merge tag 'drm-intel-next-2014-04-16' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-05-01 09:11:37 +10:00
intel_pm.c drm/i915: Be careful with non-disp bit in PMINTRMSK 2014-05-16 16:28:56 +02:00
intel_renderstate_gen6.c drm/i915: add null render states for gen6, gen7 and gen8 2014-05-14 19:17:08 +02:00
intel_renderstate_gen7.c drm/i915: add null render states for gen6, gen7 and gen8 2014-05-14 19:17:08 +02:00
intel_renderstate_gen8.c drm/i915: add null render states for gen6, gen7 and gen8 2014-05-14 19:17:08 +02:00
intel_renderstate.h drm/i915: add render state initialization 2014-05-14 19:16:13 +02:00
intel_ringbuffer.c drm/i915: Bail out early on gen6_signal if no semaphores 2014-05-15 23:14:13 +02:00
intel_ringbuffer.h drm/i915: Use hash tables for the command parser 2014-05-12 19:15:51 +02:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915/sdvo: use config->has_hdmi_sink 2014-05-16 11:58:09 +02:00
intel_sideband.c drm/i915: vlv/chv: fix DSI sideband register accessing 2014-05-19 17:50:14 +02:00
intel_sprite.c drm/i915: Add pipe update trace points 2014-05-06 10:18:03 +02:00
intel_tv.c drm/i915/tv: Remove ->mode_set callback 2014-05-05 10:56:59 +02:00
intel_uncore.c drm/i915: Fix ILK GPU reset domain bits 2014-05-20 10:45:04 +02:00
Kconfig drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
Makefile drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00