kernel_optimize_test/mm
Tejun Heo f3a53a3a1e mm, memcontrol: implement memory.swap.events
Add swap max and fail events so that userland can monitor and respond to
running out of swap.

I'm not too sure about the fail event.  Right now, it's a bit confusing
which stats / events are recursive and which aren't and also which ones
reflect events which originate from a given cgroup and which targets the
cgroup.  No idea what the right long term solution is and it could just
be that growing them organically is actually the only right thing to do.

Link: http://lkml.kernel.org/r/20180416231151.GI1911913@devbig577.frc2.facebook.com
Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Roman Gushchin <guro@fb.com>
Cc: Rik van Riel <riel@surriel.com>
Cc: <linux-api@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-06-07 17:34:34 -07:00
..
kasan kasan: fix memory hotplug during boot 2018-05-25 18:12:11 -07:00
backing-dev.c bdi: Move cgroup bdi_writeback to a dedicated low concurrency workqueue 2018-05-23 15:28:50 -06:00
balloon_compaction.c
bootmem.c
cleancache.c docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
cma_debug.c
cma.c Revert "mm/cma: manage the memory of the CMA area by using the ZONE_MOVABLE" 2018-05-24 10:07:50 -07:00
cma.h
compaction.c Revert "mm/cma: manage the memory of the CMA area by using the ZONE_MOVABLE" 2018-05-24 10:07:50 -07:00
debug_page_ref.c
debug.c
dmapool.c
early_ioremap.c
fadvise.c
failslab.c
filemap.c mm/filemap.c: fix NULL pointer in page_cache_tree_insert() 2018-04-20 17:18:36 -07:00
frame_vector.c
frontswap.c docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
gup_benchmark.c mm/gup_benchmark: handle gup failures 2018-04-13 17:10:27 -07:00
gup.c proc: do not access cmdline nor environ from file-backed areas 2018-05-17 09:27:47 -07:00
highmem.c
hmm.c Merge branch 'mm-rst' into docs-next 2018-04-16 14:25:08 -06:00
huge_memory.c There's been a fair amount of work in the docs tree this time around, 2018-06-04 12:34:27 -07:00
hugetlb_cgroup.c
hugetlb.c Merge branch 'mm-rst' into docs-next 2018-04-16 14:25:08 -06:00
hwpoison-inject.c
init-mm.c mm: introduce arg_lock to protect arg_start|end and env_start|end in mm_struct 2018-06-07 17:34:34 -07:00
internal.h Changes for 4.18: 2018-06-05 13:24:20 -07:00
interval_tree.c
Kconfig There's been a fair amount of work in the docs tree this time around, 2018-06-04 12:34:27 -07:00
Kconfig.debug
khugepaged.c page cache: use xa_lock 2018-04-11 10:28:39 -07:00
kmemleak-test.c
kmemleak.c
ksm.c mm/ksm: docs: extend overview comment and make it "DOC:" 2018-04-27 17:19:24 -06:00
list_lru.c
maccess.c
madvise.c
Makefile
memblock.c
memcontrol.c mm, memcontrol: implement memory.swap.events 2018-06-07 17:34:34 -07:00
memory_hotplug.c mm/memory_hotplug: fix leftover use of struct page during hotplug 2018-05-25 18:12:11 -07:00
memory-failure.c mm, migrate: remove reason argument from new_page_t 2018-04-11 10:28:32 -07:00
memory.c fs/dax.c: use new return type vm_fault_t 2018-06-07 17:34:33 -07:00
mempolicy.c mm: unclutter THP migration 2018-04-11 10:28:32 -07:00
mempool.c mempool: Add mempool_init()/mempool_exit() 2018-05-14 13:14:23 -06:00
memtest.c
migrate.c mm: migrate: fix double call of radix_tree_replace_slot() 2018-05-11 17:28:45 -07:00
mincore.c
mlock.c
mm_init.c
mmap.c There's been a fair amount of work in the docs tree this time around, 2018-06-04 12:34:27 -07:00
mmu_context.c
mmu_notifier.c
mmzone.c
mprotect.c sched/numa: avoid trapping faults and attempting migration of file-backed dirty pages 2018-04-11 10:28:31 -07:00
mremap.c
msync.c
nobootmem.c
nommu.c
oom_kill.c mm, oom: fix concurrent munlock and oom reaper unmap, v3 2018-05-11 17:28:45 -07:00
page_alloc.c mm, memory_hotplug: make has_unmovable_pages more robust 2018-05-25 18:12:11 -07:00
page_counter.c
page_ext.c
page_idle.c
page_io.c
page_isolation.c mm, migrate: remove reason argument from new_page_t 2018-04-11 10:28:32 -07:00
page_owner.c
page_poison.c
page_vma_mapped.c
page-writeback.c writeback: safer lock nesting 2018-04-20 17:18:35 -07:00
pagewalk.c
percpu-internal.h
percpu-km.c
percpu-stats.c
percpu-vm.c
percpu.c
pgtable-generic.c
process_vm_access.c
quicklist.c
readahead.c mm: split ->readpages calls to avoid non-contiguous pages lists 2018-06-01 18:37:32 -07:00
rmap.c Linux 4.17-rc2 2018-04-27 17:13:20 -06:00
rodata_test.c
shmem.c mm, memcontrol: move swap charge handling into get_swap_page() 2018-06-07 17:34:34 -07:00
slab_common.c
slab.c slab: __GFP_ZERO is incompatible with a constructor 2018-06-07 17:34:34 -07:00
slab.h
slob.c slab: __GFP_ZERO is incompatible with a constructor 2018-06-07 17:34:34 -07:00
slub.c mm/slub: remove obsolete comment 2018-06-07 17:34:34 -07:00
sparse-vmemmap.c
sparse.c mm: sections are not offlined during memory hotremove 2018-05-11 17:28:45 -07:00
swap_cgroup.c
swap_slots.c mm, memcontrol: move swap charge handling into get_swap_page() 2018-06-07 17:34:34 -07:00
swap_state.c mm, memcontrol: move swap charge handling into get_swap_page() 2018-06-07 17:34:34 -07:00
swap.c
swapfile.c mm: fix nr_rotate_swap leak in swapon() error case 2018-05-25 18:12:10 -07:00
truncate.c page cache: use xa_lock 2018-04-11 10:28:39 -07:00
usercopy.c
userfaultfd.c
util.c Merge branch 'mm-rst' into docs-next 2018-04-16 14:25:08 -06:00
vmacache.c
vmalloc.c proc: introduce proc_create_seq_private 2018-05-16 07:23:35 +02:00
vmpressure.c
vmscan.c mm: fix the NULL mapping case in __isolate_lru_page() 2018-06-02 09:33:47 -07:00
vmstat.c proc: introduce proc_create_seq{,_data} 2018-05-16 07:23:35 +02:00
workingset.c page cache: use xa_lock 2018-04-11 10:28:39 -07:00
z3fold.c z3fold: fix reclaim lock-ups 2018-05-11 17:28:45 -07:00
zbud.c
zpool.c
zsmalloc.c
zswap.c