Re: mmotm git tree since-4.4 branch created (was: mmotm 2016-01-12-16-44 uploaded)

From: Michal Hocko
Date: Wed Jan 13 2016 - 10:10:57 EST

On Wed 13-01-16 14:42:11, Michal Hocko wrote:
> I have just created since-4.4 branch in mm git tree
> (;a=summary). It
> is based on v4.4 tag in Linus tree and mmotm-2016-01-12-16-44.
> As usual mmotm trees are tagged with signed tag
> (finger print BB43 1E25 7FB8 660F F2F1 D22D 48E2 09A2 B310 E347)

Unfortunatelly my scripts have missed the whole post-linux-next section
in the series file. So the last push didn't have many patches. This
is now fixed. I have overwritten the previous tag but the change is
incremental (aka no rebase...):

The shortlog says:
Alexander Kuleshov (3):
mm/memblock: remove rgnbase and rgnsize variables
mm/memblock: introduce for_each_memblock_type()
mm/page_alloc.c: remove unused struct zone *z variable

Alexey Klimov (1):
mm/mlock.c: drop unneeded initialization in munlock_vma_pages_range()

Andrea Arcangeli (2):
ksm: introduce ksm_max_page_sharing per page deduplication limit
ksm: validate STABLE_NODE_DUP_HEAD conditional to gcc version

Andrew Morton (29):
fs/block_dev.c:bdev_write_page(): use blk_queue_enter(..., GFP_NOIO)
sched: add schedule_timeout_idle()
mm/page_alloc.c: rework code layout in memmap_init_zone()

Arnd Bergmann (6):
cpuset: Replace all instances of time_t with time64_t
mm: include linux/pfn.h for PHYS_PFN definition
ARM: thp: fix unterminated ifdef in header file
memstick: use sector_div instead of do_div
mm: memcontrol: only manage socket pressure for CONFIG_INET
memcg: fix SLOB build regression

Chen Gang (3):
mm/mmap.c: remove redundant local variables for may_expand_vm()
mm: add PHYS_PFN, use it in __phys_to_pfn()
arch/*/include/uapi/asm/mman.h: : let MADV_FREE have same value for all architectures

Christian Borntraeger (3):
dma: Provide simple noop dma ops
alpha/dma: use common noop dma ops
s390/dma: Allow per device dma ops

Christoph Hellwig (19):
dma-mapping: make the generic coherent dma mmap implementation optional
arc: convert to dma_map_ops
arc: dma mapping fixes
avr32: convert to dma_map_ops
blackfin: convert to dma_map_ops
c6x: convert to dma_map_ops
c6x: dma mapping fixes
cris: convert to dma_map_ops
nios2: convert to dma_map_ops
nios2: dma mapping fixes
frv: convert to dma_map_ops
parisc: convert to dma_map_ops
mn10300: convert to dma_map_ops
m68k: convert to dma_map_ops
metag: convert to dma_map_ops
sparc: use generic dma_set_mask
tile: uninline dma_set_mask
dma-mapping: always provide the dma_map_ops based implementation
dma-mapping: remove <asm-generic/dma-coherent.h>

Christoph Lameter (2):
vmstat: make vmstat_updater deferrable again and shut down on idle

Dan Carpenter (2):
mm/huge_memory: add a missing tab
C6X: fix build breakage

Dan Williams (29):
pmem, dax: clean up clear_pmem()
dax: increase granularity of dax_clear_blocks() operations
dax: guarantee page aligned results from bdev_direct_access()
dax: fix lifetime of in-kernel dax mappings with dax_map_atomic()
um: kill pfn_t
kvm: rename pfn_t to kvm_pfn_t
mm, dax, pmem: introduce pfn_t
mm: skip memory block registration for ZONE_DEVICE
mm: introduce find_dev_pagemap()
x86, mm: introduce vmem_altmap to augment vmemmap_populate()
libnvdimm, pfn, pmem: allocate memmap array in persistent memory
avr32: convert to asm-generic/memory_model.h
hugetlb: fix compile error on tile
frv: fix compiler warning from definition of __pmd()
x86, mm: introduce _PAGE_DEVMAP
mm, dax, gpu: convert vm_insert_mixed to pfn_t
mm, dax: convert vmf_insert_pfn_pmd() to pfn_t
libnvdimm, pmem: move request_queue allocation earlier in probe
mm, dax, pmem: introduce {get|put}_dev_pagemap() for dax-gup
list, perf: fix list_force_poison() build regression
mm, dax: dax-pmd vs thp-pmd vs hugetlbfs-pmd
mm, dax: dax-pmd vs thp-pmd vs hugetlbfs-pmd v5
mm: fix pmd_devmap compile error
mm, x86: get_user_pages() for dax mappings
mm, x86: get_user_pages() for dax mappings
dax: provide diagnostics for pmd mapping failures
dax: re-enable dax pmd mappings
dax: fix dax_pmd_dbg build warning

Daniel Cashman (8):
mm: mmap: add new /proc tunable for mmap_base ASLR
arm: mm: support ARCH_MMAP_RND_BITS
arm: mm: support ARCH_MMAP_RND_BITS
arm64: mm: support ARCH_MMAP_RND_BITS
x86: mm: support ARCH_MMAP_RND_BITS

Dave Chinner (1):
xfs: fix recursive splice read locking with DAX

David Rientjes (1):
mm, vmalloc: remove VM_VPAGES

Dominik Dingel (2):
mm: bring in additional flag for fixup_user_fault to signal unlock
s390/mm: enable fixup_user_fault retrying

Ebru Akagunduz (3):
mm: add tracepoint for scanning pages
mm: make optimistic check for swapin readahead
mm: make swapin readahead to improve thp collapse rate

Florian Fainelli (1):
include/linux/memblock.h: fix ordering of 'flags' argument in comments

Geliang Tang (14):
mm/slab.c use list_first_entry_or_null()
mm/slab.c: use list_for_each_entry in cache_flusharray
mm/slab.c: add a helper function get_first_slab
mm/vmalloc.c: use list_{next,first}_entry
mm, thp: use list_first_entry_or_null()
mm/page_alloc.c: use list_{first,last}_entry instead of list_entry
mm/page_alloc.c: use list_for_each_entry in mark_free_pages()
mm/swapfile.c: use list_{next,first}_entry
mm/readahead.c, mm/vmscan.c: use lru_to_page instead of list_to_page
mm/ksm.c: use list_for_each_entry_safe
mm/swapfile.c: use list_for_each_entry_safe in free_swap_count_continuations
mm: move lru_to_page to mm_inline.h
mm/zbud.c: use list_last_entry() instead of list_tail_entry()
dma-mapping: use offset_in_page macro

Guenter Roeck (1):
mn10300: Declare __pfn_to_phys() to fix build error

Hugh Dickins (2):
memcg: avoid vmpressure oops when memcg disabled
mm: make swapoff more robust against soft dirty

Jan Kara (5):
ext4: fix races between page faults and hole punching
ext4: move unlocked dio protection from ext4_alloc_file_blocks()
ext4: fix races between buffered IO and collapse / insert range
ext4: fix races of writeback with punch hole and zero range
ext4: document lock ordering

Jerome Marchand (2):
mm, shmem: add internal shmem resident memory accounting
mm, procfs: breakdown RSS for anon, shmem and file in /proc/pid/status

Johannes Weiner (34):
cgroup: clean up the kernel configuration menu nomenclature
cgroup: put controller Kconfig options in meaningful order
mm: page_alloc: generalize the dirty balance reserve
proc: meminfo: estimate available memory more conservatively
mm: memcontrol: export root_mem_cgroup
net: tcp_memcontrol: properly detect ancestor socket pressure
net: tcp_memcontrol: remove bogus hierarchy pressure propagation
net: tcp_memcontrol: protect all tcp_memcontrol calls by jump-label
net: tcp_memcontrol: remove dead per-memcg count of allocated sockets
net: tcp_memcontrol: simplify the per-memcg limit access
net: tcp_memcontrol: sanitize tcp memory accounting callbacks
net: tcp_memcontrol: simplify linkage between socket and page counter
mm: memcontrol: generalize the socket accounting jump label
mm: memcontrol: do not account memory+swap on unified hierarchy
mm: memcontrol: move socket code for unified hierarchy accounting
mm: memcontrol: account socket memory in unified hierarchy memory controller
mm: memcontrol: hook up vmpressure to socket pressure
mm: memcontrol: switch to the updated jump-label API
mm/oom_kill.c: don't ignore oom score on exiting tasks
mm: memcontrol: drop unused @css argument in memcg_init_kmem
mm: memcontrol: remove double kmem page_counter init
mm: memcontrol: give the kmem states more descriptive names
mm: memcontrol: group kmem init and exit functions together
mm: memcontrol: separate kmem code from legacy tcp accounting code
mm: memcontrol: move kmem accounting code to CONFIG_MEMCG
mm: memcontrol: account "kmem" consumers in cgroup2 memory controller
mm: memcontrol: introduce CONFIG_MEMCG_LEGACY_KMEM
mm: memcontrol: rein in the CONFIG space madness
mm: memcontrol: flatten struct cg_proto
mm: memcontrol: clean up alloc, online, offline, free functions
mm: memcontrol: clean up alloc, online, offline, free functions fix

John Allen (1):
drivers/base/memory.c: fix kernel warning during memory hotplug on ppc64

Joonsoo Kim (5):
mm/page_isolation.c: return last tested pfn rather than failure indicator
mm/page_isolation.c: add new tracepoint, test_pages_isolated
mm/cma: always check which page caused allocation failure
mm/cma: always check which page cause allocation failure
mm/compaction.c: __compact_pgdat() code cleanuup

Joshua Clayton (1):
mm: fix noisy sparse warning in LIBCFS_ALLOC_PRE()

Juergen Gross (1):
x86/paravirt: Remove paravirt ops pmd_update[_defer] and pte_update_defer

Kirill A. Shutemov (86):
mm: make sure isolate_lru_page() is never called for tail page
khugepaged: avoid usage of uninitialized variable 'isolated'
khugepaged: __collapse_huge_page_swapin(): drop unused 'pte' parameter
thp: do not hold anon_vma lock during swap in
page-flags: trivial cleanup for PageTrans* helpers
page-flags: move code around
page-flags: introduce page flags policies wrt compound pages
page-flags: do not corrupt caller 'page' in PF_NO_TAIL
page-flags: add documentation for policies
page-flags: hide PF_* validation check under separate config option
page-flags: define PG_locked behavior on compound pages
page-flags: define behavior of FS/IO-related flags on compound pages
page-flags: define behavior of LRU-related flags on compound pages
page-flags: define behavior SL*B-related flags on compound pages
page-flags: define behavior of Xen-related flags on compound pages
page-flags: define PG_reserved behavior on compound pages
hugetlb: clear PG_reserved before setting PG_head on gigantic pages
page-flags: define PG_swapbacked behavior on compound pages
page-flags: define PG_swapcache behavior on compound pages
page-flags: define PG_mlocked behavior on compound pages
page-flags: define PG_uncached behavior on compound pages
page-flags: define PG_uptodate behavior on compound pages
page-flags: look at head page if the flag is encoded in page->mapping
mm: sanitize page->mapping for tail pages
page-flags: drop __TestClearPage*() helpers
mm, proc: adjust PSS calculation
rmap: add argument to charge compound page
memcg: adjust to support new THP refcounting
mm, thp: adjust conditions when we can reuse the page on WP fault
mm: adjust FOLL_SPLIT for new refcounting
mm: handle PTE-mapped tail pages in gerneric fast gup implementaiton
thp, mlock: do not allow huge pages in mlocked area
khugepaged: ignore pmd tables with THP mapped with ptes
thp: rename split_huge_page_pmd() to split_huge_pmd()
mm, vmstats: new THP splitting event
mm: temporally mark THP broken
thp: drop all split_huge_page()-related code
mm: drop tail page refcounting
futex, thp: remove special case for THP in get_futex_key
ksm: prepare to new THP semantics
mm, thp: remove compound_lock()
arm64, thp: remove infrastructure for handling splitting PMDs
arm, thp: remove infrastructure for handling splitting PMDs
mips, thp: remove infrastructure for handling splitting PMDs
powerpc, thp: remove infrastructure for handling splitting PMDs
s390, thp: remove infrastructure for handling splitting PMDs
sparc, thp: remove infrastructure for handling splitting PMDs
tile, thp: remove infrastructure for handling splitting PMDs
x86, thp: remove infrastructure for handling splitting PMDs
mm, thp: remove infrastructure for handling splitting PMDs
mm: rework mapcount accounting to enable 4k mapping of THPs
mm: do not crash on PageDoubleMap() for non-head pages
mm: duplicate rmap reference for hugetlb pages as compound
mm: differentiate page_mapped() from page_mapcount() for compound pages
mm, numa: skip PTE-mapped THP on numa fault
thp: implement split_huge_pmd()
thp: add option to setup migration entries during PMD split
thp, mm: split_huge_page(): caller need to lock page
thp: reintroduce split_huge_page()
thp: fix split vs. unmap race
thp: fix leak due split_huge_page() vs. exit race
migrate_pages: try to split pages on queuing
mempolicy: add missed spin_unlock in queue_pages_pte_range
thp: introduce deferred_split_huge_page()
thp: fix split_huge_page vs. deferred_split_scan race
mm: re-enable THP
thp: update documentation
thp: allow mlocked THP again
mm: stop __munlock_pagevec_fill() if THP encountered
mm, thp: clear PG_mlocked when last mapping gone
mm: prepare page_referenced() and page_idle to new THP refcounting
mm: uninline slowpath of page_mapcount()
mm: fix __page_mapcount()
thp: add debugfs handle to split all huge pages
thp: increase split_huge_page() success rate
thp: fix regression in handling mlocked pages in __split_huge_pmd()
memblock: fix section mismatch
mm: fix locking order in mm_take_all_locks()

Konstantin Khlebnikov (1):
mm: rework virtual memory accounting

Kyeongdon Kim (1):
zram: try vmalloc() after kmalloc()

Laura Abbott (1):
dma-debug: switch check from _text to _stext

Liang Chen (1):
mm: mempolicy: skip non-migratable VMAs when setting MPOL_MF_LAZY

Mel Gorman (1):
mm/page_alloc.c: remove unnecessary parameter from __rmqueue

Michal Hocko (15):
Merge remote-tracking branch 'tj-cgroups/for-4.5' into mmotm-4.4
mm/page_alloc.c: get rid of __alloc_pages_high_priority()
mm/page_alloc.c: do not loop over ALLOC_NO_WATERMARKS without triggering reclaim
mm, vmscan: consider isolated pages in zone_reclaimable_pages
mm: allow GFP_{FS,IO} for page_cache_read page cache allocation
mm, oom: give __GFP_NOFAIL allocations access to memory reserves
memcg: ignore partial THP when moving task
mm, oom: rework oom detection
mm: throttle on IO only when there are too many dirty and writeback pages
mm: use watermark checks for __GFP_REPEAT high order allocations
mm, oom: introduce oom reaper
oom reaper: handle anonymous mlocked pages
oom: clear TIF_MEMDIE after oom_reaper managed to unmap the address space

Mike Kravetz (2):
fs/hugetlbfs/inode.c: fix bugs in hugetlb_vmtruncate_list()
mm/hugetlbfs: unmap pages if page fault raced with hole punch

Minchan Kim (14):
zram: pass gfp from zcomp frontend to backend
mm: support madvise(MADV_FREE)
mm: account pglazyfreed exactly
mm: define MADV_FREE for some arches
mm/madvise.c: free swp_entry in madvise_free
mm: move lazily freed pages to inactive list
mm/ksm.c: mark stable page dirty
arch/x86/include/asm/pgtable.h: add pmd_[dirty|mkclean] for THP
arch/sparc/include/asm/pgtable_64.h: add pmd_[dirty|mkclean] for THP
arch/powerpc/include/asm/pgtable-ppc64.h: add pmd_[dirty|mkclean] for THP
arch/arm/include/asm/pgtable-3level.h: add pmd_mkclean for THP
arch/arm64/include/asm/pgtable.h: add pmd_mkclean for THP
mm/huge_memory.c: don't split THP page when MADV_FREE syscall is called

Naoya Horiguchi (8):
mm/page_alloc.c: fix warning in comparing enumerator
mm/page_isolation: use macro to judge the alignment
mm: fix mapcount mismatch in hugepage migration
mm: soft-offline: check return value in second __get_any_page() call
mm: hwpoison: adjust for new thp refcounting
mm: soft-offline: clean up soft_offline_page()
mm: soft-offline: exit with failure for non anonymous thp

Nathan Zimmer (1):
mm/mempolicy.c: convert the shared_policy lock to a rwlock

Oleg Nesterov (2):
cgroup: kill cgrp_ss_priv[CGROUP_CANFORK_COUNT] and friends
mm: /proc/pid/clear_refs: no need to clear VM_SOFTDIRTY in clear_soft_dirty_pmd()

Paul Gortmaker (1):
hugetlb: make mm and fs code explicitly non-modular

Piotr Kwapulinski (1):
mm/mmap.c: remove incorrect MAP_FIXED flag comparison from mmap_region

Rami Rosen (2):
cgroup_pids: fix a typo.
cgroup: fix a typo.

Rodrigo Freire (1):
Documentation/filesystems: describe the shared memory usage/accounting

Ross Zwisler (16):
cgroup: Fix uninitialized variable warning
mm, dax: fix livelock, allow dax pmd mappings to become writeable
dax: fix NULL pointer dereference in __dax_dbg()
dax: fix conversion of holes to PMDs
pmem: add wb_cache_pmem() to the PMEM API
dax: support dirty DAX entries in radix tree
mm: add find_get_entries_tag()
dax: add support for fsync/sync
dax: add support for fsync/msync
ext2: call dax_pfn_mkwrite() for DAX fsync/msync
ext4: call dax_pfn_mkwrite() for DAX fsync/msync
xfs: call dax_pfn_mkwrite() for DAX fsync/msync

Sergey Senozhatsky (2):
zram/zcomp: use GFP_NOIO to allocate streams
zram/zcomp: do not zero out zcomp private pages

Seth Jennings (2):
drivers/base/memory.c: clean up section counting
drivers/base/memory.c: rename remove_memory_block() to remove_memory_section()

Sudip Mukherjee (3):
m32r: fix m32104ut_defconfig build fail
arch/*/include/uapi/asm/mman.h: correct uniform value of MADV_FREE
m68k: provide __phys_to_pfn() and __pfn_to_phys()

Taku Izumi (2):
mm/page_alloc.c: calculate zone_start_pfn at zone_spanned_pages_in_node()
mm/page_alloc.c: introduce kernelcore=mirror option

Tejun Heo (11):
cgroup: replace __DEVEL__sane_behavior with cgroup2 fs type
cgroup: rename Documentation/cgroups/ to Documentation/cgroup-legacy/
cgroup: replace unified-hierarchy.txt with a proper cgroup v2 documentation
cgroup: record ancestor IDs and reimplement cgroup_is_descendant() using it
kernfs: implement kernfs_walk_and_get()
cgroup: implement cgroup_get_from_path() and expose cgroup_put()
Merge branch 'for-4.4-fixes' into for-4.5
Merge branch 'for-4.5-ancestor-test' of git:// into for-4.5
cgroup: demote subsystem init messages to KERN_DEBUG
cgroup: rename cgroup documentations
cgroup, memcg, writeback: drop spurious rcu locking around mem_cgroup_css_from_page()

Tetsuo Handa (1):
tree wide: use kvfree() than conditional kfree()/vfree()

Toshi Kani (3):
x86/mm/pat: Add untrack_pfn_moved for mremap
x86/mm/pat: Change free_memtype() to support shrinking case
dax: Split pmd map when fallback on COW

Valentin Rothberg (1):
HAVE_DMA_ATTRS: remove leftovers in Kconfig

Vineet Gupta (1):
ARC: dma mapping fixes #2

Vitaly Kuznetsov (2):
memory-hotplug: don't BUG() in register_memory_resource()

Vladimir Davydov (21):
Revert "kernfs: do not account ino_ida allocations to memcg"
Revert "gfp: add __GFP_NOACCOUNT"
memcg: only account kmem allocations marked as __GFP_ACCOUNT
slab: add SLAB_ACCOUNT flag
vmalloc: allow to account vmalloc to memcg
kmemcg: account certain kmem allocations to memcg
vmscan: do not force-scan file lru if its absolute size is small
memcg: do not allow to disable tcp accounting after limit is set
mm/khugepaged: fix scan not aborted on SCAN_EXCEED_SWAP_PTE
mm: add page_check_address_transhuge() helper
mm: memcontrol: allow to disable kmem accounting for cgroup2
net: drop tcp_memcontrol.c
mm: memcontrol: charge swap to cgroup2
mm: vmscan: pass memcg to get_scan_count()
mm: memcontrol: replace mem_cgroup_lruvec_online with mem_cgroup_online
swap.h: move memcg related stuff to the end of the file
mm: vmscan: do not scan anon pages if memcg swap limit is hit
mm: free swap cache aggressively if memcg swap is full
Documentation: cgroup: add memory.swap.{current,max} description

Vlastimil Babka (4):
mm, documentation: clarify /proc/pid/status VmSwap limitations for shmem
mm, proc: account for shmem swap in /proc/pid/smaps
mm, proc: reduce cost of /proc/pid/smaps for shmem mappings
mm, proc: reduce cost of /proc/pid/smaps for unpopulated shmem mappings

Wang Xiaoqiang (3):
mm/page_isolation: do some cleanup in "undo_isolate_page_range"
mm/vmalloc.c: use macro IS_ALIGNED to judge the aligment
mm/mlock.c: change can_do_mlock return value type to boolean

Weijie Yang (1):
zsmalloc: reorganize struct size_class to pack 4 bytes hole

Yaowei Bai (6):
include/linux/hugetlb.h: is_file_hugepages() can be boolean
mm/memblock.c: memblock_is_memory()/reserved() can be boolean
include/linux/mmzone.h: remove unused is_unevictable_lru()
mm/zonelist: enumerate zonelists array index
mm/mmzone.c: memmap_valid_within() can be boolean
mm/compaction: improve comment for compact_memory tunable knob handler

Yuan Sun (2):
Subject: cgroup: Fix incomplete dd command in blkio documentation
cgroup: Remove resource_counter.txt in Documentation/cgroup-legacy/00-INDEX.

nimisolo (1):
mm/memblock.c:memblock_add_range(): if nr_new is 0 just return

yalin wang (3):
mm/vmscan.c: change trace_mm_vmscan_writepage() proto type
mm: change mm_vmscan_lru_shrink_inactive() proto types
mm: fix kernel crash in khugepaged thread

zhong jiang (1):
arm64: fix add kasan bug

Michal Hocko