summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-12-25 14:48:26 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2018-12-25 14:48:26 -0500
commit4971f090aa7f6ce5daa094ce4334f6618f93a7eb (patch)
tree45d75782b7dedbec76a3ab82d2769f7707668071 /mm
parentc76cd634eb5bfd497617ea224a54a03b545c8c4d (diff)
parent2a3c83f5fe0770d13bbb71b23674886ff4111f44 (diff)
Merge tag 'drm-next-2018-12-14' of git://anongit.freedesktop.org/drm/drm
Pull drm updates from Dave Airlie: "Core: - shared fencing staging removal - drop transactional atomic helpers and move helpers to new location - DP/MST atomic cleanup - Leasing cleanups and drop EXPORT_SYMBOL - Convert drivers to atomic helpers and generic fbdev. - removed deprecated obj_ref/unref in favour of get/put - Improve dumb callback documentation - MODESET_LOCK_BEGIN/END helpers panels: - CDTech panels, Banana Pi Panel, DLC1010GIG, - Olimex LCD-O-LinuXino, Samsung S6D16D0, Truly NT35597 WQXGA, - Himax HX8357D, simulated RTSM AEMv8. - GPD Win2 panel - AUO G101EVN010 vgem: - render node support ttm: - move global init out of drivers - fix LRU handling for ghost objects - Support for simultaneous submissions to multiple engines scheduler: - timeout/fault handling changes to help GPU recovery - helpers for hw with preemption support i915: - Scaler/Watermark fixes - DP MST + powerwell fixes - PSR fixes - Break long get/put shmemfs pages - Icelake fixes - Icelake DSI video mode enablement - Engine workaround improvements amdgpu: - freesync support - GPU reset enabled on CI, VI, SOC15 dGPUs - ABM support in DC - KFD support for vega12/polaris12 - SDMA paging queue on vega - More amdkfd code sharing - DCC scanout on GFX9 - DC kerneldoc - Updated SMU firmware for GFX8 chips - XGMI PSP + hive reset support - GPU reset - DC trace support - Powerplay updates for newer Polaris - Cursor plane update fast path - kfd dma-buf support virtio-gpu: - add EDID support vmwgfx: - pageflip with damage support nouveau: - Initial Turing TU104/TU106 modesetting support msm: - a2xx gpu support for apq8060 and imx5 - a2xx gpummu support - mdp4 display support for apq8060 - DPU fixes and cleanups - enhanced profiling support - debug object naming interface - get_iova/page pinning decoupling tegra: - Tegra194 host1x, VIC and display support enabled - Audio over HDMI for Tegra186 and Tegra194 exynos: - DMA/IOMMU refactoring - plane alpha + blend mode support - Color format fixes for mixer driver rcar-du: - R8A7744 and R8A77470 support - R8A77965 LVDS support imx: - fbdev emulation fix - multi-tiled scalling fixes - SPDX identifiers rockchip - dw_hdmi support - dw-mipi-dsi + dual dsi support - mailbox read size fix qxl: - fix cursor pinning vc4: - YUV support (scaling + cursor) v3d: - enable TFU (Texture Formatting Unit) mali-dp: - add support for linear tiled formats sun4i: - Display Engine 3 support - H6 DE3 mixer 0 support - H6 display engine support - dw-hdmi support - H6 HDMI phy support - implicit fence waiting - BGRX8888 support meson: - Overlay plane support - implicit fence waiting - HDMI 1.4 4k modes bridge: - i2c fixes for sii902x" * tag 'drm-next-2018-12-14' of git://anongit.freedesktop.org/drm/drm: (1403 commits) drm/amd/display: Add fast path for cursor plane updates drm/amdgpu: Enable GPU recovery by default for CI drm/amd/display: Fix duplicating scaling/underscan connector state drm/amd/display: Fix unintialized max_bpc state values Revert "drm/amd/display: Set RMX_ASPECT as default" drm/amdgpu: Fix stub function name drm/msm/dpu: Fix clock issue after bind failure drm/msm/dpu: Clean up dpu_media_info.h static inline functions drm/msm/dpu: Further cleanups for static inline functions drm/msm/dpu: Cleanup the debugfs functions drm/msm/dpu: Remove dpu_irq and unused functions drm/msm: Make irq_postinstall optional drm/msm/dpu: Cleanup callers of dpu_hw_blk_init drm/msm/dpu: Remove unused functions drm/msm/dpu: Remove dpu_crtc_is_enabled() drm/msm/dpu: Remove dpu_crtc_get_mixer_height drm/msm/dpu: Remove dpu_dbg drm/msm: dpu: Remove crtc_lock drm/msm: dpu: Remove vblank_requested flag from dpu_crtc drm/msm: dpu: Separate crtc assignment from vblank enable ...
Diffstat (limited to 'mm')
-rw-r--r--mm/shmem.c2
-rw-r--r--mm/vmscan.c22
2 files changed, 12 insertions, 12 deletions
diff --git a/mm/shmem.c b/mm/shmem.c
index 5d07e0b1352f..375f3ac19bb8 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -758,7 +758,7 @@ void shmem_unlock_mapping(struct address_space *mapping)
758 break; 758 break;
759 index = indices[pvec.nr - 1] + 1; 759 index = indices[pvec.nr - 1] + 1;
760 pagevec_remove_exceptionals(&pvec); 760 pagevec_remove_exceptionals(&pvec);
761 check_move_unevictable_pages(pvec.pages, pvec.nr); 761 check_move_unevictable_pages(&pvec);
762 pagevec_release(&pvec); 762 pagevec_release(&pvec);
763 cond_resched(); 763 cond_resched();
764 } 764 }
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 62ac0c488624..24ab1f7394ab 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -46,6 +46,7 @@
46#include <linux/delayacct.h> 46#include <linux/delayacct.h>
47#include <linux/sysctl.h> 47#include <linux/sysctl.h>
48#include <linux/oom.h> 48#include <linux/oom.h>
49#include <linux/pagevec.h>
49#include <linux/prefetch.h> 50#include <linux/prefetch.h>
50#include <linux/printk.h> 51#include <linux/printk.h>
51#include <linux/dax.h> 52#include <linux/dax.h>
@@ -4182,17 +4183,16 @@ int page_evictable(struct page *page)
4182 return ret; 4183 return ret;
4183} 4184}
4184 4185
4185#ifdef CONFIG_SHMEM
4186/** 4186/**
4187 * check_move_unevictable_pages - check pages for evictability and move to appropriate zone lru list 4187 * check_move_unevictable_pages - check pages for evictability and move to
4188 * @pages: array of pages to check 4188 * appropriate zone lru list
4189 * @nr_pages: number of pages to check 4189 * @pvec: pagevec with lru pages to check
4190 * 4190 *
4191 * Checks pages for evictability and moves them to the appropriate lru list. 4191 * Checks pages for evictability, if an evictable page is in the unevictable
4192 * 4192 * lru list, moves it to the appropriate evictable lru list. This function
4193 * This function is only used for SysV IPC SHM_UNLOCK. 4193 * should be only used for lru pages.
4194 */ 4194 */
4195void check_move_unevictable_pages(struct page **pages, int nr_pages) 4195void check_move_unevictable_pages(struct pagevec *pvec)
4196{ 4196{
4197 struct lruvec *lruvec; 4197 struct lruvec *lruvec;
4198 struct pglist_data *pgdat = NULL; 4198 struct pglist_data *pgdat = NULL;
@@ -4200,8 +4200,8 @@ void check_move_unevictable_pages(struct page **pages, int nr_pages)
4200 int pgrescued = 0; 4200 int pgrescued = 0;
4201 int i; 4201 int i;
4202 4202
4203 for (i = 0; i < nr_pages; i++) { 4203 for (i = 0; i < pvec->nr; i++) {
4204 struct page *page = pages[i]; 4204 struct page *page = pvec->pages[i];
4205 struct pglist_data *pagepgdat = page_pgdat(page); 4205 struct pglist_data *pagepgdat = page_pgdat(page);
4206 4206
4207 pgscanned++; 4207 pgscanned++;
@@ -4233,4 +4233,4 @@ void check_move_unevictable_pages(struct page **pages, int nr_pages)
4233 spin_unlock_irq(&pgdat->lru_lock); 4233 spin_unlock_irq(&pgdat->lru_lock);
4234 } 4234 }
4235} 4235}
4236#endif /* CONFIG_SHMEM */ 4236EXPORT_SYMBOL_GPL(check_move_unevictable_pages);