linux_dsm_epyc7002/mm
Lee Schermerhorn 89e004ea55 SHM_LOCKED pages are unevictable
Shmem segments locked into memory via shmctl(SHM_LOCKED) should not be
kept on the normal LRU, since scanning them is a waste of time and might
throw off kswapd's balancing algorithms.  Place them on the unevictable
LRU list instead.

Use the AS_UNEVICTABLE flag to mark address_space of SHM_LOCKed shared
memory regions as unevictable.  Then these pages will be culled off the
normal LRU lists during vmscan.

Add new wrapper function to clear the mapping's unevictable state when/if
shared memory segment is munlocked.

Add 'scan_mapping_unevictable_page()' to mm/vmscan.c to scan all pages in
the shmem segment's mapping [struct address_space] for evictability now
that they're no longer locked.  If so, move them to the appropriate zone
lru list.

Changes depend on [CONFIG_]UNEVICTABLE_LRU.

[kosaki.motohiro@jp.fujitsu.com: revert shm change]
Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com>
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Kosaki Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-20 08:50:26 -07:00
..
allocpercpu.c
backing-dev.c
bootmem.c misc: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
bounce.c
dmapool.c
fadvise.c Remove Andrew Morton's old email accounts 2008-10-16 11:21:32 -07:00
filemap_xip.c
filemap.c vmscan: split LRU lists into anon & file sets 2008-10-20 08:50:25 -07:00
fremap.c
highmem.c
hugetlb.c vmscan: split LRU lists into anon & file sets 2008-10-20 08:50:25 -07:00
internal.h Unevictable LRU Infrastructure 2008-10-20 08:50:26 -07:00
Kconfig Unevictable LRU Infrastructure 2008-10-20 08:50:26 -07:00
maccess.c
madvise.c
Makefile
memcontrol.c Unevictable LRU Page Statistics 2008-10-20 08:50:26 -07:00
memory_hotplug.c vmscan: move isolate_lru_page() to vmscan.c 2008-10-20 08:50:25 -07:00
memory.c vmscan: split LRU lists into anon & file sets 2008-10-20 08:50:25 -07:00
mempolicy.c Unevictable LRU Infrastructure 2008-10-20 08:50:26 -07:00
mempool.c
migrate.c Unevictable LRU Infrastructure 2008-10-20 08:50:26 -07:00
mincore.c
mlock.c
mm_init.c
mmap.c
mmu_notifier.c
mmzone.c
mprotect.c
mremap.c
msync.c
nommu.c
oom_kill.c
page_alloc.c Unevictable LRU Page Statistics 2008-10-20 08:50:26 -07:00
page_io.c
page_isolation.c
page-writeback.c vmscan: split LRU lists into anon & file sets 2008-10-20 08:50:25 -07:00
pagewalk.c
pdflush.c Remove Andrew Morton's old email accounts 2008-10-16 11:21:32 -07:00
prio_tree.c
quicklist.c
readahead.c vmscan: split LRU lists into anon & file sets 2008-10-20 08:50:25 -07:00
rmap.c anon_vma_prepare: properly lock even newly allocated entries 2008-10-19 11:50:35 -07:00
shmem_acl.c
shmem.c SHM_LOCKED pages are unevictable 2008-10-20 08:50:26 -07:00
slab.c
slob.c
slub.c
sparse-vmemmap.c
sparse.c
swap_state.c vmscan: add newly swapped in pages to the inactive list 2008-10-20 08:50:25 -07:00
swap.c Unevictable LRU Infrastructure 2008-10-20 08:50:26 -07:00
swapfile.c vmscan: free swap space on swap-in/activation 2008-10-20 08:50:25 -07:00
thrash.c
tiny-shmem.c
truncate.c Remove Andrew Morton's old email accounts 2008-10-16 11:21:32 -07:00
util.c
vmalloc.c
vmscan.c SHM_LOCKED pages are unevictable 2008-10-20 08:50:26 -07:00
vmstat.c Unevictable LRU Page Statistics 2008-10-20 08:50:26 -07:00