linux/drivers/gpu/drm/ttm
Michel Dänzer da291320ba drm/ttm: Use GFP_TRANSHUGE_LIGHT for allocating huge pages
GFP_TRANSHUGE tries very hard to allocate huge pages, which can result
in long delays with high memory pressure. I have observed firefox
freezing for up to around a minute due to this while restic was taking
a full system backup.

Since we don't really need huge pages, use GFP_TRANSHUGE_LIGHT |
__GFP_NORETRY instead, in order to fail quickly when there are no huge
pages available.

Set __GFP_KSWAPD_RECLAIM as well, in order for huge pages to be freed
up in the background if necessary.

With these changes, I'm no longer seeing freezes during a restic backup.

Cc: stable@vger.kernel.org
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2018-05-09 15:16:30 -05:00
..
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ttm_agp_backend.c drm/ttm: add bo as parameter to the ttm_tt_create callback 2018-03-14 14:38:27 -05:00
ttm_bo.c drm/ttm: add ttm_bo_pipeline_gutting 2018-03-14 14:38:27 -05:00
ttm_bo_manager.c drm/ttm: make ttm_mem_type_manager_func debug more useful 2017-08-17 15:45:59 -04:00
ttm_bo_util.c drm/ttm: Export the ttm_k[un]map_atomic_prot API. 2018-03-22 11:10:06 +01:00
ttm_bo_vm.c drm/ttm: add bit flag TTM_OPT_FLAG_FORCE_ALLOC 2018-02-26 23:09:34 -05:00
ttm_execbuf_util.c drm/ttm: drop bo->glob 2018-02-26 23:09:44 -05:00
ttm_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
ttm_memory.c drm/ttm: check if free mem space is under the lower limit 2018-02-26 23:09:46 -05:00
ttm_module.c drm/ttm: make device_released static 2014-07-22 12:59:32 +10:00
ttm_object.c drm/ttm: use an operation ctx for ttm_mem_global_alloc 2017-12-27 11:38:54 -05:00
ttm_page_alloc.c drm/ttm: Use GFP_TRANSHUGE_LIGHT for allocating huge pages 2018-05-09 15:16:30 -05:00
ttm_page_alloc_dma.c drm/ttm: Use GFP_TRANSHUGE_LIGHT for allocating huge pages 2018-05-09 15:16:30 -05:00
ttm_tt.c drm/ttm: move initializing ttm->sg into ttm_tt_init_fields 2018-03-14 14:38:28 -05:00