android_kernel_oneplus_msm8998/mm
Roman Gushchin 7e22f75445 mm: introduce NR_INDIRECTLY_RECLAIMABLE_BYTES
Patch series "indirectly reclaimable memory", v2.

This patchset introduces the concept of indirectly reclaimable memory
and applies it to fix the issue of when a big number of dentries with
external names can significantly affect the MemAvailable value.

This patch (of 3):

Introduce a concept of indirectly reclaimable memory and adds the
corresponding memory counter and /proc/vmstat item.

Indirectly reclaimable memory is any sort of memory, used by the kernel
(except of reclaimable slabs), which is actually reclaimable, i.e.  will
be released under memory pressure.

The counter is in bytes, as it's not always possible to count such
objects in pages.  The name contains BYTES by analogy to
NR_KERNEL_STACK_KB.

Link: http://lkml.kernel.org/r/20180305133743.12746-2-guro@fb.com
Signed-off-by: Roman Gushchin <guro@fb.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Mel Gorman <mgorman@techsingularity.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-Commit: eb59254608bc1d42c4c6afdcdce9c0d3ce02b318
Git-Repo: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Change-Id: Ie15abc33dcb13091e3acfa04dd55c664e1a24e70
Signed-off-by: Vijayanand Jitta <vjitta@codeaurora.org>
2018-05-07 10:44:31 +05:30
..
kasan Merge android-4.4.107 (79f138a) into msm-4.4 2018-01-18 12:49:58 +05:30
backing-dev.c Merge android-4.4.127 (d6bbe8b) into msm-4.4 2018-04-20 12:27:57 +05:30
balloon_compaction.c mm: balloon: use general non-lru movable page feature 2017-02-21 12:38:41 +05:30
bootmem.c
cleancache.c
cma.c Merge android-4.4.114 (fe09418) into msm-4.4 2018-02-01 14:02:45 +05:30
cma.h
cma_debug.c
compaction.c mm/migration: make isolate_movable_page() return int type 2018-02-22 17:51:25 +05:30
debug.c mm, page_owner: dump page owner info from dump_page() 2017-07-07 15:12:10 +05:30
dmapool.c BACKPORT: mm: coalesce split strings 2017-12-14 08:21:34 -08:00
early_ioremap.c mm/early_ioremap: Fix boot hang with earlyprintk=efi,keep 2018-02-25 11:03:41 +01:00
fadvise.c
failslab.c
filemap.c Merge tag v4.4.55 into branch 'msm-4.4' 2017-03-23 03:22:14 -07:00
frame_vector.c
frontswap.c
gup.c mm: larger stack guard gap, between vmas 2017-06-26 07:13:11 +02:00
highmem.c
huge_memory.c This is the 4.4.106 stable release 2017-12-18 10:49:53 +01:00
hugetlb.c mm, hugetlb: use pte_present() instead of pmd_present() in follow_huge_pmd() 2017-04-08 09:53:32 +02:00
hugetlb_cgroup.c
hwpoison-inject.c
init-mm.c
internal.h Merge android-4.4@4b8fc9f (v4.4.82) into msm-4.4 2017-09-01 11:47:49 -07:00
interval_tree.c
Kconfig mm/Kconfig: Enable MEMORY_HOTPLUG for arm64 2017-11-22 08:14:30 +05:30
Kconfig.debug mm: allow page poisoning to be enabled by default. 2017-04-14 23:43:05 +05:30
kmemcheck.c BACKPORT: mm: coalesce split strings 2017-12-14 08:21:34 -08:00
kmemleak-test.c
kmemleak.c Merge android-4.4.115 (aa856bd) into msm-4.4 2018-02-05 11:59:38 +05:30
ksm.c Merge tag 'lsk-v4.4-16.12-android' into branch 'msm-4.4' 2017-02-28 17:10:49 -08:00
list_lru.c mm/list_lru.c: fix list_lru_count_node() to be race free 2017-07-21 07:44:56 +02:00
maccess.c
madvise.c This is the 4.4.104 stable release 2017-12-05 11:31:58 +01:00
Makefile Merge android-4.4.107 (79f138a) into msm-4.4 2018-01-18 12:49:58 +05:30
memblock.c Merge android-4.4.106 (2fea039) into msm-4.4 2018-01-18 12:45:07 +05:30
memcontrol.c hwpoison, memcg: forcibly uncharge LRU pages 2018-01-31 12:06:09 +01:00
memory-failure.c Merge android-4.4.114 (fe09418) into msm-4.4 2018-02-01 14:02:45 +05:30
memory.c Merge android-4.4.117 (4ec3656) into msm-4.4 2018-03-01 17:19:19 +05:30
memory_hotplug.c mm/hotplug: enable memory hotplug for non-lru movable pages 2018-02-22 17:51:21 +05:30
mempolicy.c BACKPORT: mm: coalesce split strings 2017-12-14 08:21:34 -08:00
mempool.c UPSTREAM: mm: mempool: kasan: don't poot mempool objects in quarantine 2017-12-14 08:20:25 -08:00
memtest.c
migrate.c mm/migration: make isolate_movable_page() return int type 2018-02-22 17:51:25 +05:30
mincore.c
mlock.c This is the 4.4.71 stable release 2017-06-07 12:36:01 +02:00
mm_init.c
mmap.c Merge android-4.4.114 (fe09418) into msm-4.4 2018-02-01 14:02:45 +05:30
mmu_context.c mm/mmu_context, sched/core: Fix mmu_context.h assumption 2017-12-25 14:22:09 +01:00
mmu_notifier.c
mmzone.c
mprotect.c This is the 4.4.81 stable release 2017-08-11 13:09:21 -07:00
mremap.c mm, mprotect: flush TLB if potentially racing with a parallel reclaim leaving stale TLB entries 2017-08-11 09:08:50 -07:00
msync.c
nobootmem.c
nommu.c
oom_kill.c Merge android-4.4.106 (2fea039) into msm-4.4 2018-01-18 12:45:07 +05:30
page-writeback.c Merge android-4.4.112 (5f6325b) into msm-4.4 2018-01-24 12:35:11 +05:30
page_alloc.c mm/hotplug: enable memory hotplug for non-lru movable pages 2018-02-22 17:51:21 +05:30
page_counter.c
page_ext.c Merge android-4.4.101 (f0b9d2d) into msm-4.4 2017-12-26 19:13:02 +05:30
page_idle.c
page_io.c
page_isolation.c mm/page_alloc: introduce post allocation processing on page allocator 2017-07-07 15:39:34 +05:30
page_owner.c mm: check the return value of lookup_page_ext for all call sites 2017-11-24 08:32:25 +01:00
page_poison.c mm: allow page poisoning to be enabled by default. 2017-04-14 23:43:05 +05:30
pagewalk.c mm/pagewalk.c: report holes in hugetlb ranges 2017-11-24 08:32:25 +01:00
percpu-km.c
percpu-vm.c
percpu.c BACKPORT: mm: coalesce split strings 2017-12-14 08:21:34 -08:00
pgtable-generic.c
process_reclaim.c
process_vm_access.c
quicklist.c
readahead.c
rmap.c Merge android-4.4.108 (55b3b8c) into msm-4.4 2018-01-18 12:50:06 +05:30
shmem.c
showmem.c
slab.c BACKPORT: mm: coalesce split strings 2017-12-14 08:21:34 -08:00
slab.h UPSTREAM: mm: kasan: initial memory quarantine implementation 2017-12-14 08:20:07 -08:00
slab_common.c BACKPORT: kasan: drain quarantine of memcg slab objects 2017-12-14 08:24:57 -08:00
slob.c
slub.c Merge android-4.4.106 (2fea039) into msm-4.4 2018-01-18 12:45:07 +05:30
sparse-vmemmap.c BACKPORT: mm: coalesce split strings 2017-12-14 08:21:34 -08:00
sparse.c BACKPORT: mm: coalesce split strings 2017-12-14 08:21:34 -08:00
swap.c
swap_cgroup.c mm, swap_cgroup: reschedule when neeed in swap_cgroup_swapoff() 2017-07-05 14:37:15 +02:00
swap_ratio.c
swap_state.c
swapfile.c Merge android-4.4.106 (2fea039) into msm-4.4 2018-01-18 12:45:07 +05:30
truncate.c Merge branch 'android-4.4@e76c0fa' into branch 'msm-4.4' 2017-06-20 14:55:15 -07:00
usercopy.c
userfaultfd.c
util.c Merge android-4.4.118 (5f7f76a) into msm-4.4 2018-03-01 17:20:34 +05:30
vmacache.c
vmalloc.c Merge android-4.4.106 (2fea039) into msm-4.4 2018-01-18 12:45:07 +05:30
vmpressure.c mm: vmpressure: fix sending wrong events on underflow 2017-03-12 06:37:25 +01:00
vmscan.c Merge android-4.4.118 (5f7f76a) into msm-4.4 2018-03-01 17:20:34 +05:30
vmstat.c mm: introduce NR_INDIRECTLY_RECLAIMABLE_BYTES 2018-05-07 10:44:31 +05:30
workingset.c
zbud.c
zcache.c
zpool.c
zsmalloc.c mm: fix build warnings in <linux/compaction.h> 2017-02-21 12:41:38 +05:30
zswap.c zswap: don't param_set_charp while holding spinlock 2018-01-17 09:35:27 +01:00