diff options
| author | Kuo-Hsin Yang <[email protected]> | 2019-01-08 15:45:17 +0800 |
|---|---|---|
| committer | Chris Wilson <[email protected]> | 2019-01-09 21:24:50 +0000 |
| commit | fb4b49278f6b2b83bc638d4082301f98581c3598 (patch) | |
| tree | d881b7b24a387bc29b4eb36bab1e4a24c9331616 /tools/perf/scripts/python | |
| parent | 2513147dce2353eb6d1a947ab543e3758724362d (diff) | |
drm/gem: Mark pinned pages as unevictable
The gem drivers use shmemfs to allocate backing storage for gem objects.
On Samsung Chromebook Plus, the drm/rockchip driver may call
rockchip_gem_get_pages -> drm_gem_get_pages -> shmem_read_mapping_page
to pin a lot of pages, breaking the page reclaim mechanism and causing
oom-killer invocation.
E.g. when the size of a zone is 3.9 GiB, the inactive_ratio is 5. If
active_anon / inactive_anon < 5 and all pages in the inactive_anon lru
are pinned, page reclaim would keep scanning inactive_anon lru without
reclaiming memory. It breaks page reclaim when the rockchip driver only
pins about 1/6 of the anon lru pages.
Mark these pinned pages as unevictable to avoid the premature oom-killer
invocation. See also similar patch on i915 driver [1].
[1]: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Signed-off-by: Kuo-Hsin Yang <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Chris Wilson <[email protected]>
Reviewed-by: Chris Wilson <[email protected]>
Signed-off-by: Chris Wilson <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions