OpenCloudOS-Kernel/Documentation/vm
Kuo-Hsin Yang 64e3d12f76 mm, drm/i915: mark pinned shmemfs pages as unevictable
The i915 driver uses shmemfs to allocate backing storage for gem
objects. These shmemfs pages can be pinned (increased ref count) by
shmem_read_mapping_page_gfp(). When a lot of pages are pinned, vmscan
wastes a lot of time scanning these pinned pages. In some extreme case,
all pages in the inactive anon lru are pinned, and only the inactive
anon lru is scanned due to inactive_ratio, the system cannot swap and
invokes the oom-killer. Mark these pinned pages as unevictable to speed
up vmscan.

Export pagevec API check_move_unevictable_pages().

This patch was inspired by Chris Wilson's change [1].

[1]: https://patchwork.kernel.org/patch/9768741/

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Dave Hansen <dave.hansen@intel.com>
Signed-off-by: Kuo-Hsin Yang <vovoy@chromium.org>
Acked-by: Michal Hocko <mhocko@suse.com> # mm part
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Dave Hansen <dave.hansen@intel.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20181106132324.17390-1-chris@chris-wilson.co.uk
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-11-07 15:28:32 +00:00
..
.gitignore Documentation/vm/.gitignore: add page-types 2009-09-24 07:20:57 -07:00
00-INDEX docs/vm: move numa_memory_policy.rst to Documentation/admin-guide/mm 2018-05-08 09:31:31 -06:00
active_mm.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
balance.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
cleancache.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
conf.py docs/vm: add index.rst and link MM documentation to top level index 2018-04-16 14:18:15 -06:00
frontswap.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
highmem.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
hmm.rst Merge branch 'mm-rst' into docs-next 2018-04-16 14:25:08 -06:00
hugetlbfs_reserv.rst docs/vm: hugetlbpage: move section about kernel development to hugetlbfs_reserv 2018-04-27 17:02:33 -06:00
hwpoison.rst docs/admin-guide/mm: start moving here files from Documentation/vm 2018-04-27 17:02:48 -06:00
index.rst docs/vm: move ksm and transhuge from "user" to "internals" section. 2018-05-29 06:45:55 -06:00
ksm.rst docs/vm: ksm: split userspace interface to admin-guide/mm/ksm.rst 2018-04-27 17:19:49 -06:00
mmu_notifier.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
numa.rst docs/vm: move numa_memory_policy.rst to Documentation/admin-guide/mm 2018-05-08 09:31:31 -06:00
overcommit-accounting.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
page_frags.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
page_migration.rst Merge branch 'mm-rst' into docs-next 2018-04-16 14:25:08 -06:00
page_owner.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
remap_file_pages.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
slub.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
split_page_table_lock.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
swap_numa.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
transhuge.rst docs/vm: transhuge: split userspace bits to admin-guide/mm/transhuge 2018-05-21 09:30:58 -06:00
unevictable-lru.rst mm, drm/i915: mark pinned shmemfs pages as unevictable 2018-11-07 15:28:32 +00:00
z3fold.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
zsmalloc.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
zswap.rst docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00