Roger He
ec3fe391bd
drm/ttm: check if free mem space is under the lower limit
...
the free mem space and the lower limit both include two parts:
system memory and swap space.
For the OOM triggered by TTM, that is the case as below:
first swap space is full of swapped out pages and soon
system memory also is filled up with ttm pages. and then
any memory allocation request will run into OOM.
to cover two cases:
a. if no swap disk at all or free swap space is under swap mem
limit but available system mem is bigger than sys mem limit,
allow TTM allocation;
b. if the available system mem is less than sys mem limit but
free swap space is bigger than swap mem limit, allow TTM
allocation.
v2: merge two memory limit(swap and system) into one
v3: keep original behavior except ttm_opt_ctx->flags with
TTM_OPT_FLAG_FORCE_ALLOC
v4: always set force_alloc as tx->flags & TTM_OPT_FLAG_FORCE_ALLOC
v5: add an attribute for lower_mem_limit
v6: set lower_mem_limit as 0 to keep original behavior
Signed-off-by: Roger He <Hongbo.He@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2018-02-26 23:09:46 -05:00
..
bridge
drm/bridge/synopsys: stop clobbering drvdata
2018-01-09 14:34:38 +01:00
i2c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
tinydrm
drm/tinydrm/mi0283qt: Let the display pipe handle power
2018-01-15 15:16:06 +01:00
ttm
drm/ttm: check if free mem space is under the lower limit
2018-02-26 23:09:46 -05:00
amd_asic_type.h
drm/amdgpu Moving amdgpu asic types to a separate file
2017-10-18 10:56:27 -04:00
ati_pcigart.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
drm_agpsupport.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
drm_atomic.h
drm/atomic: Fix memleak on ERESTARTSYS during non-blocking commits
2018-01-30 11:27:26 +01:00
drm_atomic_helper.h
drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c
2017-11-20 21:14:22 +02:00
drm_auth.h
drm: Add drm_object lease infrastructure [v5]
2017-10-25 16:31:29 +10:00
drm_blend.h
drm: Add DRM_MODE_ROTATE_ and DRM_MODE_REFLECT_ to UAPI
2017-05-22 09:49:48 +02:00
drm_bridge.h
drm/bridge: Rename argument from crtc to bridge
2018-02-07 09:06:37 +01:00
drm_cache.h
drm: add func to get max iomem address v2
2018-02-13 11:57:59 -05:00
drm_color_mgmt.h
drm: drm_color_mgmt.h needs struct drm_crtc declaration
2017-05-02 10:30:23 +02:00
drm_connector.h
drm: Add Content Protection property
2018-01-08 14:57:41 -05:00
drm_crtc.h
drm/mode_object: fix documentation for object lookups.
2017-11-10 13:50:47 +10:00
drm_crtc_helper.h
drm/atomic: Acquire connection_mutex lock in drm_helper_probe_single_connector_modes, v4.
2017-04-06 21:29:23 +02:00
drm_debugfs.h
drm/debugfs: Add kerneldoc
2017-03-24 09:36:06 +01:00
drm_debugfs_crc.h
drm_device.h
drm: Add drm_device->fb_helper pointer
2017-10-31 19:06:05 +01:00
drm_displayid.h
drm_dp_dual_mode_helper.h
drm_dp_helper.h
Add HDCP support to i915 drm driver.
2018-02-16 09:36:04 +10:00
drm_dp_mst_helper.h
drm/dp/mst: Sideband message transaction to power up/down nodes
2017-09-11 16:03:57 +03:00
drm_drv.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_edid.h
drm: Update edid-derived drm_display_info fields at edid property set [v2]
2017-12-13 14:51:37 +01:00
drm_encoder.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_encoder_slave.h
drm_fb_cma_helper.h
drm/cma-helper: Add drm_fb_cma_fbdev_init/fini()
2017-12-08 14:27:47 +01:00
drm_fb_helper.h
drm/fb-helper: Add drm_fb_helper_defio_init()
2017-12-20 14:52:22 +01:00
drm_file.h
the rest of drivers/*: annotate ->poll() instances
2017-11-28 11:06:58 -05:00
drm_fixed.h
drm_flip_work.h
drm_fourcc.h
drm/fourcc: Add a alpha field to drm_format_info
2018-01-29 12:07:47 +01:00
drm_framebuffer.h
drm/framebuffer: Print task that allocated the fb in debug info.
2017-12-20 15:30:17 +01:00
drm_gem.h
drm/gem: Add drm_gem_dumb_map_offset()
2017-07-29 13:49:55 +02:00
drm_gem_cma_helper.h
Merge tag 'drm-misc-next-2017-11-30' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
2017-12-04 05:42:49 +10:00
drm_gem_framebuffer_helper.h
drm/gem-fb-helper: Use debug message on gem lookup failure
2017-09-16 14:06:53 +02:00
drm_global.h
drm: drop extern from function decls
2017-03-24 09:36:06 +01:00
drm_hashtab.h
drm: drop extern from function decls
2017-03-24 09:36:06 +01:00
drm_hdcp.h
drm/i915: Check for downstream topology errors
2018-01-18 17:56:02 -05:00
drm_ioctl.h
new helper: drm_ioctl_kernel()
2017-05-27 15:39:28 -04:00
drm_irq.h
drm: Extract drm_vblank.[hc]
2017-06-01 08:02:14 +02:00
drm_lease.h
drm: Add four ioctls for managing drm mode object leases [v7]
2017-10-25 16:31:30 +10:00
drm_legacy.h
drm_mipi_dsi.h
drm_mm.h
drm/drm_mm.h: Fix the name of the referenced function in comment
2017-11-02 11:10:47 -02:00
drm_mode_config.h
drm/modes: Provide global mode_valid hook
2018-01-29 21:51:51 +02:00
drm_mode_object.h
drm: Add four ioctls for managing drm mode object leases [v7]
2017-10-25 16:31:30 +10:00
drm_modes.h
drm/modes: Provide global mode_valid hook
2018-01-29 21:51:51 +02:00
drm_modeset_helper.h
drm/modeset-helper: Add simple modeset suspend/resume helpers
2017-11-30 18:18:08 +01:00
drm_modeset_helper_vtables.h
drm/edid: make drm_edid_to_eld() static
2017-11-07 17:43:35 +02:00
drm_modeset_lock.h
drm/atomic: Prepare drm_modeset_lock infrastructure for interruptible waiting, v2.
2017-09-13 09:50:52 +02:00
drm_of.h
main drm pull request for v4.15
2017-11-15 20:42:10 -08:00
drm_os_linux.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
drm_panel.h
drm: make drm_panel.h self-contained
2017-05-16 17:17:02 +02:00
drm_pci.h
drm/pci: Deprecate drm_pci_init/exit completely
2017-06-20 10:41:03 +02:00
drm_pciids.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
drm_plane.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_plane_helper.h
drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c
2017-11-20 21:14:22 +02:00
drm_prime.h
drm: export gem dmabuf_ops for drivers to reuse
2018-01-09 12:07:07 -05:00
drm_print.h
drm/print: Unconfuse kerneldoc
2017-12-15 11:13:39 +01:00
drm_property.h
drm/mode_object: fix documentation for object lookups.
2017-11-10 13:50:47 +10:00
drm_rect.h
drm/doc: move printf helpers out of drmP.h
2017-05-31 09:59:41 +02:00
drm_scdc_helper.h
drm: Fix warning when building docs for scdc_helper
2017-07-31 14:24:14 +02:00
drm_simple_kms_helper.h
drm: Plumb modifiers through plane init
2017-08-01 17:50:06 +01:00
drm_syncobj.h
drm/syncobj: some kerneldoc polish
2017-12-15 11:26:52 +01:00
drm_sysfs.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
drm_utils.h
drm: Add panel orientation quirks, v6.
2017-12-04 23:03:21 +01:00
drm_vblank.h
drm: Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls [v3]
2017-10-23 11:15:03 +10:00
drm_vma_manager.h
drm/vma-manager: drm_vma_node_start() constify argument
2017-11-11 11:19:37 +01:00
drmP.h
drm: Add new LEASE debug level
2017-10-25 16:31:29 +10:00
gma_drm.h
gpu_scheduler.h
drm/sched: move fence slab handling to module init/exit
2017-12-07 11:52:14 -05:00
gpu_scheduler_trace.h
drm: move amd_gpu_scheduler into common location
2017-12-07 11:51:56 -05:00
i915_component.h
drm/i915/cnl: Add Port F definition.
2018-01-19 17:51:35 -02:00
i915_drm.h
x86/early-quirks: export the stolen region as a resource
2017-12-12 12:30:18 +02:00
i915_pciids.h
drm/i915/cnl: Add Cannonlake PCI IDs for another SKU.
2018-01-30 10:24:12 -08:00
intel-gtt.h
drm/i915: prefer resource_size_t for everything stolen
2017-12-12 12:30:22 +02:00
intel_lpe_audio.h
ALSA: x86: Register multiple PCM devices for the LPE audio card
2017-05-03 16:24:00 +03:00
spsc_queue.h
drm: move amd_gpu_scheduler into common location
2017-12-07 11:51:56 -05:00