Commit 8dcd175b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'akpm' (patches from Andrew)

Merge misc updates from Andrew Morton:

 - a few misc things

 - ocfs2 updates

 - most of MM

* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (159 commits)
  tools/testing/selftests/proc/proc-self-syscall.c: remove duplicate include
  proc: more robust bulk read test
  proc: test /proc/*/maps, smaps, smaps_rollup, statm
  proc: use seq_puts() everywhere
  proc: read kernel cpu stat pointer once
  proc: remove unused argument in proc_pid_lookup()
  fs/proc/thread_self.c: code cleanup for proc_setup_thread_self()
  fs/proc/self.c: code cleanup for proc_setup_self()
  proc: return exit code 4 for skipped tests
  mm,mremap: bail out earlier in mremap_to under map pressure
  mm/sparse: fix a bad comparison
  mm/memory.c: do_fault: avoid usage of stale vm_area_struct
  writeback: fix inode cgroup switching comment
  mm/huge_memory.c: fix "orig_pud" set but not used
  mm/hotplug: fix an imbalance with DEBUG_PAGEALLOC
  mm/memcontrol.c: fix bad line in comment
  mm/cma.c: cma_declare_contiguous: correct err handling
  mm/page_ext.c: fix an imbalance with kmemleak
  mm/compaction: pass pgdat to too_many_isolated() instead of zone
  mm: remove zone_lru_lock() function, access ->lru_lock directly
  ...
parents afe6fe70 fff04900
Loading
Loading
Loading
Loading
+16 −0
Original line number Original line Diff line number Diff line
@@ -1189,6 +1189,10 @@ PAGE_SIZE multiple when read back.
		Amount of cached filesystem data that was modified and
		Amount of cached filesystem data that was modified and
		is currently being written back to disk
		is currently being written back to disk


	  anon_thp
		Amount of memory used in anonymous mappings backed by
		transparent hugepages

	  inactive_anon, active_anon, inactive_file, active_file, unevictable
	  inactive_anon, active_anon, inactive_file, active_file, unevictable
		Amount of memory, swap-backed and filesystem-backed,
		Amount of memory, swap-backed and filesystem-backed,
		on the internal memory management lists used by the
		on the internal memory management lists used by the
@@ -1248,6 +1252,18 @@ PAGE_SIZE multiple when read back.


		Amount of reclaimed lazyfree pages
		Amount of reclaimed lazyfree pages


	  thp_fault_alloc

		Number of transparent hugepages which were allocated to satisfy
		a page fault, including COW faults. This counter is not present
		when CONFIG_TRANSPARENT_HUGEPAGE is not set.

	  thp_collapse_alloc

		Number of transparent hugepages which were allocated to allow
		collapsing an existing range of pages. This counter is not
		present when CONFIG_TRANSPARENT_HUGEPAGE is not set.

  memory.swap.current
  memory.swap.current
	A read-only single value file which exists on non-root
	A read-only single value file which exists on non-root
	cgroups.
	cgroups.
+6 −3
Original line number Original line Diff line number Diff line
@@ -75,9 +75,10 @@ number of times a page is mapped.
    20. NOPAGE
    20. NOPAGE
    21. KSM
    21. KSM
    22. THP
    22. THP
    23. BALLOON
    23. OFFLINE
    24. ZERO_PAGE
    24. ZERO_PAGE
    25. IDLE
    25. IDLE
    26. PGTABLE


 * ``/proc/kpagecgroup``.  This file contains a 64-bit inode number of the
 * ``/proc/kpagecgroup``.  This file contains a 64-bit inode number of the
   memory cgroup each page is charged to, indexed by PFN. Only available when
   memory cgroup each page is charged to, indexed by PFN. Only available when
@@ -118,8 +119,8 @@ Short descriptions to the page flags
    identical memory pages dynamically shared between one or more processes
    identical memory pages dynamically shared between one or more processes
22 - THP
22 - THP
    contiguous pages which construct transparent hugepages
    contiguous pages which construct transparent hugepages
23 - BALLOON
23 - OFFLINE
    balloon compaction page
    page is logically offline
24 - ZERO_PAGE
24 - ZERO_PAGE
    zero page for pfn_zero or huge_zero page
    zero page for pfn_zero or huge_zero page
25 - IDLE
25 - IDLE
@@ -128,6 +129,8 @@ Short descriptions to the page flags
    Note that this flag may be stale in case the page was accessed via
    Note that this flag may be stale in case the page was accessed via
    a PTE. To make sure the flag is up-to-date one has to read
    a PTE. To make sure the flag is up-to-date one has to read
    ``/sys/kernel/mm/page_idle/bitmap`` first.
    ``/sys/kernel/mm/page_idle/bitmap`` first.
26 - PGTABLE
    page is in use as a page table


IO related page flags
IO related page flags
---------------------
---------------------
+2 −2
Original line number Original line Diff line number Diff line
@@ -107,9 +107,9 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y.


8. LRU
8. LRU
        Each memcg has its own private LRU. Now, its handling is under global
        Each memcg has its own private LRU. Now, its handling is under global
	VM's control (means that it's handled under global zone_lru_lock).
	VM's control (means that it's handled under global pgdat->lru_lock).
	Almost all routines around memcg's LRU is called by global LRU's
	Almost all routines around memcg's LRU is called by global LRU's
	list management functions under zone_lru_lock().
	list management functions under pgdat->lru_lock.


	A special function is mem_cgroup_isolate_pages(). This scans
	A special function is mem_cgroup_isolate_pages(). This scans
	memcg's private LRU and call __isolate_lru_page() to extract a page
	memcg's private LRU and call __isolate_lru_page() to extract a page
+2 −2
Original line number Original line Diff line number Diff line
@@ -267,11 +267,11 @@ When oom event notifier is registered, event will be delivered.
   Other lock order is following:
   Other lock order is following:
   PG_locked.
   PG_locked.
   mm->page_table_lock
   mm->page_table_lock
       zone_lru_lock
       pgdat->lru_lock
	  lock_page_cgroup.
	  lock_page_cgroup.
  In many cases, just lock_page_cgroup() is called.
  In many cases, just lock_page_cgroup() is called.
  per-zone-per-cgroup LRU (cgroup's private LRU) is just guarded by
  per-zone-per-cgroup LRU (cgroup's private LRU) is just guarded by
  zone_lru_lock, it has no lock of its own.
  pgdat->lru_lock, it has no lock of its own.


2.7 Kernel Memory Extension (CONFIG_MEMCG_KMEM)
2.7 Kernel Memory Extension (CONFIG_MEMCG_KMEM)


+8 −0
Original line number Original line Diff line number Diff line
@@ -9835,6 +9835,14 @@ F: kernel/sched/membarrier.c
F:	include/uapi/linux/membarrier.h
F:	include/uapi/linux/membarrier.h
F:	arch/powerpc/include/asm/membarrier.h
F:	arch/powerpc/include/asm/membarrier.h


MEMBLOCK
M:	Mike Rapoport <rppt@linux.ibm.com>
L:	linux-mm@kvack.org
S:	Maintained
F:	include/linux/memblock.h
F:	mm/memblock.c
F:	Documentation/core-api/boot-time-mm.rst

MEMORY MANAGEMENT
MEMORY MANAGEMENT
L:	linux-mm@kvack.org
L:	linux-mm@kvack.org
W:	http://www.linux-mm.org
W:	http://www.linux-mm.org
Loading