linux_dsm_epyc7002/drivers/gpu/drm/i915
Tvrtko Ursulin 3599a91cc8 drm/i915: Allow shrinking of userptr objects once again
Commit 1bec9b0bda ("drm/i915/shrinker: Only shmemfs objects
are backed by swap") stopped considering the userptr objects
in shrinker callbacks.

Restore that so idle userptr objects can be discarded in order
to free up memory.

One change further to what was introduced in 1bec9b0bda is
to start considering userptr objects in oom but that should
also be a correct thing to do.

v2: Introduce I915_GEM_OBJECT_IS_SHRINKABLE. (Chris Wilson)

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Fixes: 1bec9b0bda ("drm/i915/shrinker: Only shmemfs objects are backed by swap")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: <stable@vger.kernel.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1478011450-6634-1-git-send-email-tvrtko.ursulin@linux.intel.com
2016-11-01 16:35:26 +00:00
..
gvt drm/i915: Rearrange i915_wait_request() accounting with callers 2016-10-28 20:53:43 +01:00
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Refactor object page API 2016-10-28 20:53:46 +01:00
i915_debugfs.c drm/i915: Always use intel_get_crtc_for_pipe() 2016-11-01 16:40:38 +02:00
i915_drv.c drm/i915: Pass dev_priv to intel_suspend_hw() 2016-11-01 16:40:38 +02:00
i915_drv.h drm/i915: Allow shrinking of userptr objects once again 2016-11-01 16:35:26 +00:00
i915_gem_batch_pool.c drm/i915: Move GEM activity tracking into a common struct reservation_object 2016-10-28 20:53:50 +01:00
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Export a function to flush the context upon pinning 2016-11-01 14:26:33 +00:00
i915_gem_dmabuf.c drm/i915: Move GEM activity tracking into a common struct reservation_object 2016-10-28 20:53:50 +01:00
i915_gem_evict.c drm/i915: Enable multiple timelines 2016-10-28 20:53:57 +01:00
i915_gem_execbuffer.c drm/i915: Move GEM activity tracking into a common struct reservation_object 2016-10-28 20:53:50 +01:00
i915_gem_fence.c drm/i915: Pass around sg_table to get_pages/put_pages backend 2016-10-28 20:53:47 +01:00
i915_gem_gtt.c drm/i915: Store the vma in an rbtree under the object 2016-11-01 13:00:40 +00:00
i915_gem_gtt.h drm/i915: Store the vma in an rbtree under the object 2016-11-01 13:00:40 +00:00
i915_gem_internal.c drm/i915: Allow shrinking of userptr objects once again 2016-11-01 16:35:26 +00:00
i915_gem_render_state.c drm/i915: Refactor object page API 2016-10-28 20:53:46 +01:00
i915_gem_render_state.h drm/i915: Reuse the active golden render state batch 2016-10-28 20:53:44 +01:00
i915_gem_request.c drm/i915: Enable multiple timelines 2016-10-28 20:53:57 +01:00
i915_gem_request.h drm/i915: Introduce a global_seqno for each request 2016-10-28 20:53:53 +01:00
i915_gem_shrinker.c drm/i915: Allow shrinking of userptr objects once again 2016-11-01 16:35:26 +00:00
i915_gem_stolen.c drm/i915: Pass dev_priv to rest of IS_FOO() macros for the old platforms 2016-11-01 16:40:38 +02:00
i915_gem_tiling.c drm/i915: Track pages pinned due to swizzling quirk 2016-11-01 10:48:41 +00:00
i915_gem_timeline.c drm/i915: Enable multiple timelines 2016-10-28 20:53:57 +01:00
i915_gem_timeline.h drm/i915: Enable multiple timelines 2016-10-28 20:53:57 +01:00
i915_gem_userptr.c drm/i915: Allow shrinking of userptr objects once again 2016-11-01 16:35:26 +00:00
i915_gem.c drm/i915: Allow shrinking of userptr objects once again 2016-11-01 16:35:26 +00:00
i915_gem.h drm/i915: Combine seqno + tracking into a global timeline struct 2016-10-28 20:53:51 +01:00
i915_gpu_error.c drm/i915: Avoid accessing request->timeline outside of its lifetime 2016-11-01 10:48:40 +00:00
i915_guc_reg.h drm/i915/guc: general tidying up (loader) 2016-09-15 10:56:02 +01:00
i915_guc_submission.c drm/i915: Introduce a global_seqno for each request 2016-10-28 20:53:53 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Always use intel_get_crtc_for_pipe() 2016-11-01 16:40:38 +02:00
i915_memcpy.c drm/i915: Mark the static key for movntqda as static 2016-08-17 12:36:07 +01:00
i915_mm.c drm/i915: Use remap_io_mapping() to prefault all PTE in a single pass 2016-08-19 17:13:36 +01:00
i915_params.c drm/i915: Allow disabling error capture 2016-10-12 12:00:32 +01:00
i915_params.h drm/i915: Allow disabling error capture 2016-10-12 12:00:32 +01:00
i915_pci.c drm/i915: keep declarations in i915_drv.h 2016-09-22 14:53:29 +03:00
i915_pvinfo.h
i915_reg.h drm/i915: Address broxton phy registers based on phy and channel number 2016-10-28 12:25:24 +03:00
i915_suspend.c drm/i915: Make IS_GEN macros only take dev_priv 2016-10-14 12:23:22 +01:00
i915_sw_fence.c drm/i915: Allow i915_sw_fence_await_sw_fence() to allocate 2016-10-28 20:53:42 +01:00
i915_sw_fence.h drm/i915: Allow i915_sw_fence_await_sw_fence() to allocate 2016-10-28 20:53:42 +01:00
i915_sysfs.c drm/i915: Allow disabling error capture 2016-10-12 12:00:32 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Introduce a global_seqno for each request 2016-10-28 20:53:53 +01:00
i915_vgpu.c Merge tag 'drm-intel-next-2016-09-19' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-09-20 06:23:22 +10:00
i915_vgpu.h
intel_acpi.c
intel_atomic_plane.c drm/i915: Move GEM activity tracking into a common struct reservation_object 2016-10-28 20:53:50 +01:00
intel_atomic.c
intel_audio.c drm/i915/audio: set proper N/M in modeset 2016-10-26 12:36:30 +03:00
intel_bios.c drm/i915: Clean up DDI DDC/AUX CH sanitation 2016-10-21 15:43:40 +03:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Convert breadcrumbs spinlock to be irqsafe 2016-10-28 20:53:55 +01:00
intel_color.c drm/i915: Make IS_CHERRYVIEW only take dev_priv 2016-10-14 12:23:19 +01:00
intel_crt.c drm/i915: Pass dev_priv to intel_wait_for_vblank() 2016-11-01 16:40:38 +02:00
intel_csr.c drm/i915/DMC/KBL: Load DMC on KBL using the no_stepping_info array 2016-10-26 14:20:53 -07:00
intel_ddi.c drm/i915: Move broxton vswing sequence to intel_dpio_phy.c 2016-10-28 12:24:45 +03:00
intel_device_info.c drm/i915: Don't try to initialize sprite planes on pre-ilk 2016-10-31 16:56:32 +02:00
intel_display.c drm/i915: Pass dev_priv to intel_init_pm() 2016-11-01 16:40:38 +02:00
intel_dp_aux_backlight.c
intel_dp_link_training.c drm/i915/skl: drop workarounds for A0 and B0 revisions 2016-09-26 12:08:22 +03:00
intel_dp_mst.c Revert "drm/i915: start adding dp mst audio" 2016-09-29 11:02:41 +03:00
intel_dp.c drm/i915: Pass dev_priv to vlv force pll functions 2016-11-01 16:40:38 +02:00
intel_dpio_phy.c drm/i915: Address broxton phy registers based on phy and channel number 2016-10-28 12:25:24 +03:00
intel_dpll_mgr.c drm/i915: Address broxton phy registers based on phy and channel number 2016-10-28 12:25:24 +03:00
intel_dpll_mgr.h drm/i915/dp: Add a standalone function to obtain shared dpll for HSW/BDW/SKL/BXT 2016-09-09 14:53:18 -07:00
intel_drv.h drm/i915: Pass dev_priv to intel_init_pm() 2016-11-01 16:40:38 +02:00
intel_dsi_dcs_backlight.c
intel_dsi_panel_vbt.c drm/i915/dsi: double check element parsing against size if present 2016-09-19 18:38:11 +03:00
intel_dsi_pll.c drm/i915: Make IS_BROXTON only take dev_priv 2016-10-14 12:23:19 +01:00
intel_dsi.c drm/i915: Make IS_CHERRYVIEW only take dev_priv 2016-10-14 12:23:19 +01:00
intel_dsi.h
intel_dvo.c drm/i915: Pass dev_priv to intel_get_crtc_for_pipe() 2016-11-01 16:40:38 +02:00
intel_engine_cs.c drm/i915: Move the global sync optimisation to the timeline 2016-10-28 20:53:54 +01:00
intel_fbc.c drm/i915: Pass intel_crtc to intel_crtc_active() 2016-11-01 16:40:38 +02:00
intel_fbdev.c drm/i915: pdev cleanup 2016-08-22 12:19:52 +01:00
intel_fifo_underrun.c drm/i915: Always use intel_get_crtc_for_pipe() 2016-11-01 16:40:38 +02:00
intel_frontbuffer.c
intel_frontbuffer.h
intel_guc_fwif.h drm/i915: Increase GuC log buffer size to reduce flush interrupts 2016-10-25 09:34:23 +01:00
intel_guc_loader.c drm/i915: Support for GuC interrupts 2016-10-25 09:34:06 +01:00
intel_guc.h drm/i915: Debugfs support for GuC logging control 2016-10-25 09:34:23 +01:00
intel_gvt.c Documentation/gpu: Add section for Intel GVT-g host support 2016-10-20 17:18:39 +08:00
intel_gvt.h drm/i915/gvt: clean up intel_gvt.h as interface for i915 core 2016-10-20 17:18:30 +08:00
intel_hdmi.c drm/i915: Pass dev_priv to intel_wait_for_vblank() 2016-11-01 16:40:38 +02:00
intel_hotplug.c drm/i915: Mark i915_hpd_poll_init_work as static 2016-08-17 12:36:15 +01:00
intel_i2c.c drm/i915: GMBUS don't need no forcewake 2016-10-17 14:26:42 +03:00
intel_lrc.c drm/i915: Defer breadcrumb emission 2016-10-28 20:53:54 +01:00
intel_lrc.h drm/i915: Update reset path to fix incomplete requests 2016-09-09 14:23:05 +01:00
intel_lspcon.c drm/i915/lspcon: Add workaround for resuming in PCON mode 2016-10-26 12:41:01 +03:00
intel_lvds.c drm/i915: Pass dev_priv to intel_get_crtc_for_pipe() 2016-11-01 16:40:38 +02:00
intel_mocs.c
intel_mocs.h
intel_modes.c
intel_opregion.c drm/i915: Ignore OpRegion panel type except on select machines 2016-09-14 11:25:05 +03:00
intel_overlay.c drm/i915: Use lockless object free 2016-10-28 20:53:50 +01:00
intel_panel.c drm/i915/backlight: setup backlight pwm alternate increment on backlight enable 2016-10-10 16:05:52 +03:00
intel_pm.c drm/i915: Pass dev_priv to intel_init_pm() 2016-11-01 16:40:38 +02:00
intel_psr.c drm/i915: Make IS_CHERRYVIEW only take dev_priv 2016-10-14 12:23:19 +01:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915: Export a function to flush the context upon pinning 2016-11-01 14:26:33 +00:00
intel_ringbuffer.h drm/i915: Avoid accessing request->timeline outside of its lifetime 2016-11-01 10:48:40 +00:00
intel_runtime_pm.c drm/i915: Pass dev_priv to .get_display_clock_speed() 2016-11-01 16:40:38 +02:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Pass dev_priv to IS_MOBILE() 2016-11-01 16:40:38 +02:00
intel_sideband.c
intel_sprite.c drm/i915: Pass dev_priv to plane constructors 2016-11-01 16:40:38 +02:00
intel_tv.c drm/i915: Pass dev_priv to intel_wait_for_vblank() 2016-11-01 16:40:38 +02:00
intel_uncore.c drm/i915: Just clear the mmiodebug before a register access 2016-10-10 16:06:41 +03:00
intel_vbt_defs.h
Kconfig Merge tag 'gvt-next-2016-10-27' of https://github.com/01org/gvt-linux into drm-intel-next-queued 2016-10-27 10:33:17 +02:00
Kconfig.debug
Makefile drm/i915: Combine seqno + tracking into a global timeline struct 2016-10-28 20:53:51 +01:00