I have just created since-4.1 branch in mm git tree (http://git.kernel.org/?p=linux/kernel/git/mhocko/mm.git;a=summary). It is based on v4.1 tag in Linus tree and mmotm-2015-07-06-16-25. I have pulled block/core changes as a pre-requisite for Tejun's cgroup writeback series which is applied on top (I have cherry picked those because merging it would pull in way too many changes). I have also pulled cgroup core changes. I hope I haven't forgotten anything. As usual mmotm trees are tagged with signed tag (finger print BB43 1E25 7FB8 660F F2F1 D22D 48E2 09A2 B310 E347) The shortlog says: Aleksa Sarai (4): cgroup: switch to unsigned long for bitmasks cgroup: use bitmask to filter for_each_subsys cgroup: replace explicit ss_mask checking with for_each_subsys_which cgroup: fix uninitialised iterator in for_each_subsys_which Alexey Dobriyan (2): prctl: more prctl(PR_SET_MM_*) checks proc: fix PAGE_SIZE limit of /proc/$PID/cmdline Andi Kleen (2): mm, hwpoison: add comment describing when to add new cases mm, hwpoison: remove obsolete "Notebook" todo list Andrea Arcangeli (30): userfaultfd: linux/Documentation/vm/userfaultfd.txt userfaultfd: documentation update userfaultfd: waitqueue: add nr wake parameter to __wake_up_locked_key userfaultfd: uAPI userfaultfd: uAPI: add missing include/types.h userfaultfd: linux/userfaultfd_k.h userfaultfd: add vm_userfaultfd_ctx to the vm_area_struct userfaultfd: add VM_UFFD_MISSING and VM_UFFD_WP userfaultfd: call handle_userfault() for userfaultfd_missing() faults userfaultfd: teach vma_merge to merge across vma->vm_userfaultfd_ctx userfaultfd: prevent khugepaged to merge if userfaultfd is armed userfaultfd: add new syscall to provide memory externalization userfaultfd-add-new-syscall-to-provide-memory-externalization-fix userfaultfd: fs/userfaultfd.c add more comments userfaultfd: cleanup superfluous _irq locking userfaultfd: rename uffd_api.bits into .features fixup userfaultfd: change the read API to return a uffd_msg userfaultfd: documentation update userfaultfd: update the uffd_msg structure to be the same on 32/64bit userfaultfd: wake pending userfaults userfaultfd: optimize read() and poll() to be O(1) userfaultfd: fs/userfaultfd.c add more comments userfaultfd: allocate the userfaultfd_ctx cacheline aligned userfaultfd: solve the race between UFFDIO_COPY|ZEROPAGE and read userfaultfd: buildsystem activation userfaultfd: activate syscall userfaultfd: UFFDIO_COPY|UFFDIO_ZEROPAGE uAPI userfaultfd: mcopy_atomic|mfill_zeropage: UFFDIO_COPY|UFFDIO_ZEROPAGE preparation userfaultfd: avoid mmap_sem read recursion in mcopy_atomic userfaultfd: UFFDIO_COPY and UFFDIO_ZEROPAGE Andrew Morton (11): openrisc: fix CONFIG_UID16 setting slab-infrastructure-for-bulk-object-allocation-and-freeing-v3-fix userfaultfd-change-the-read-api-to-return-a-uffd_msg-fix-2-fix userfaultfd-avoid-mmap_sem-read-recursion-in-mcopy_atomic-fix fs/userfaultfd.c: work around i386 build error include/linux/page-flags.h: rename macros to avoid collisions x86-add-pmd_-for-thp-fix sparc-add-pmd_-for-thp-fix mm-support-madvisemadv_free-fix-2 mm-dont-split-thp-page-when-syscall-is-called-fix-3 mm-move-lazy-free-pages-to-inactive-list-fix-fix Aneesh Kumar K.V (3): mm/thp: split out pmd collapse flush into separate functions powerpc/mm: use generic version of pmdp_clear_flush() mm: clarify that the function operates on hugepage pte Anisse Astier (1): mm/page_alloc.c: cleanup obsolete KM_USER* Arianna Avanzini (1): block, cgroup: implement policy-specific per-blkcg data Arnd Bergmann (1): cgroup: add seq_file forward declaration for struct cftype Catalin Marinas (5): mm: kmemleak: allow safe memory scanning during kmemleak disabling mm: kmemleak: fix delete_object_*() race when called on the same memory block mm: kmemleak: do not acquire scan_mutex in kmemleak_do_cleanup() mm: kmemleak: avoid deadlock on the kmemleak object insertion error path mm: kmemleak: optimise kmemleak_lock acquiring during kmemleak_scan Chen Hanxiao (1): cgroup: fix some comment typos Chris Metcalf (3): smpboot: allow excluding cpus from the smpboot threads watchdog: add watchdog_cpumask sysctl to assist nohz procfs: treat parked tasks as sleeping for task state Christoph Hellwig (11): block: rename REQ_TYPE_SPECIAL to REQ_TYPE_DRV_PRIV block: move REQ_TYPE_ATA_TASKFILE and REQ_TYPE_ATA_PC to ide.h block: move REQ_TYPE_SENSE to the ide driver block: remove REQ_TYPE_PM_SHUTDOWN block: move PM request support to IDE nbd: stop using req->cmd block: use an atomic_t for mq_freeze_depth block: remove BIO_EOPNOTSUPP block: remove unused BIO_RW_BLOCK and BIO_EOF flags suspend: simplify block I/O handling block, dm: don't copy bios for request clones Christoph Lameter (2): slab: infrastructure for bulk object allocation and freeing slub bulk alloc: extract objects from the per cpu slab Dan Streetman (4): frontswap: allow multiple backends zswap: runtime enable/disable zpool: change pr_info to pr_debug zpool: remove zpool_evict() Daniel Sanders (1): slab: correct size_index table before replacing the bootstrap kmem_cache_node Dave Gordon (3): lib/scatterlist.c: fix kerneldoc for sg_pcopy_{to,from}_buffer() lib/scatterlist: mark input buffer parameters as 'const' drivers/scsi/scsi_debug.c: resolve sg buffer const-ness issue Davidlohr Bueso (5): ipc,shm: move BUG_ON check into shm_lock ipc,msg: provide barrier pairings for lockless receive ipc: rename ipc_obtain_object ipc,sysv: make return -EIDRM when racing with RMID consistent ipc,sysv: return -EINVAL upon incorrect id/seqnum Dominik Dingel (10): s390/mm: make hugepages_supported a boot time decision mm/hugetlb: remove unused arch hook prepare/release_hugepage mm/hugetlb: remove arch_prepare/release_hugepage from arch headers s390/hugetlb: remove dead code for sw emulated huge pages s390/mm: forward check for huge pmds to pmd_large() s390/mm: change HPAGE_SHIFT type to int revert "s390/mm: change HPAGE_SHIFT type to int" revert "s390/mm: make hugepages_supported a boot time decision" mm: hugetlb: allow hugepages_supported to be architecture specific s390/hugetlb: add hugepages_supported define Gavin Guo (1): mm/slab_common: support the slub_debug boot option on specific object size Greg Thelen (1): memcg: add per cgroup dirty page accounting Gu Zheng (1): mm/memory hotplug: init the zone's size when calculating node totalpages HATAYAMA Daisuke (2): kernel/panic: call the 2nd crash_kexec() only if crash_kexec_post_notifiers is enabled kernel/panic/kexec: fix "crash_kexec_post_notifiers" option issue in oops path Iago López Galeiras (1): fs, proc: introduce CONFIG_PROC_CHILDREN James Custer (1): mm: fix invalid use of pfn_valid_within in test_pages_in_a_zone Jarod Wilson (1): block: export blkdev_reread_part() and __blkdev_reread_part() Jeff Moyer (1): blk-mq: fix plugging in blk_sq_make_request Jens Axboe (11): bio: skip atomic inc/dec of ->bi_remaining for non-chains bio: skip atomic inc/dec of ->bi_cnt for most use cases block: collapse bio bit space block: only honor SG gap prevention for merges that contain data block: don't honor chunk sizes for data-less IO block: add blk_set_queue_dying() to blkdev.h cfq-iosched: fix the setting of IOPS mode on SSDs cfq-iosched: move group scheduling functions under ifdef cfq-iosched: fix sysfs oops when attempting to read unconfigured weights cfq-iosched: fix other locations where blkcg_to_cfqgd() can return NULL buffer: remove unusued 'ret' variable Jiri Kosina (1): thp: cleanup how khugepaged enters freezer Johannes Weiner (7): mm: oom_kill: remove unnecessary locking in oom_enable() mm: oom_kill: clean up victim marking and exiting interfaces mm: oom_kill: switch test-and-clear of known TIF_MEMDIE to clear mm: oom_kill: generalize OOM progress waitqueue mm: oom_kill: remove unnecessary locking in exit_oom_victim() mm: oom_kill: simplify OOM killer locking mm: page_alloc: inline should_alloc_retry() Josef Bacik (1): tmpfs: truncate prealloc blocks past i_size Josh Triplett (1): clone: support passing tls argument via C rather than pt_regs magic Julia Lawall (1): block: fix returnvar.cocci warnings KarimAllah Ahmed (1): x86/kexec: prepend elfcorehdr instead of appending it to the crash-kernel command-line. Keith Busch (1): blk-mq: Shared tag enhancements Kirill A. Shutemov (19): mm: fix mprotect() behaviour on VM_LOCKED VMAs mm: drop bogus VM_BUG_ON_PAGE assert in put_page() codepath mm: avoid tail page refcounting on non-THP compound pages page-flags: trivial cleanup for PageTrans* helpers page-flags: introduce page flags policies wrt compound pages 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 mm,compaction: fix isolate_migratepages_block() for THP=n 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 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 Larry Finger (1): mm: kmemleak_alloc_percpu() should follow the gfp from per_alloc() Laurent Dufour (3): mm: new mm hook framework mm: new arch_remap() hook powerpc/mm: tracking vDSO remap Leon Romanovsky (1): mm: nommu: refactor debug and warning prints Lorenzo Stoakes (1): gcov: add support for GCC 5.1 Marcin Jabrzyk (2): zram: remove obsolete ZRAM_DEBUG option zsmalloc: remove obsolete ZSMALLOC_DEBUG Masanari Iida (1): arch/unicore32/kernel/fpu-ucf64.c: remove unnecessary KERN_ERR Mel Gorman (12): mm, memcg: Try charging a page before setting page up to date mm: page_alloc: pass PFN to __free_pages_bootmem mm: meminit: make __early_pfn_to_nid SMP-safe and introduce meminit_pfn_in_nid mm: meminit: inline some helper functions mm: meminit: initialise a subset of struct pages if CONFIG_DEFERRED_STRUCT_PAGE_INIT is set mm: meminit: initialise remaining struct pages in parallel with kswapd mm: meminit: minimise number of pfn->page lookups during initialisation x86: mm: enable deferred struct page initialisation on x86-64 mm: meminit: free pages in large chunks where possible mm: meminit: reduce number of times pageblocks are set during struct page init mm: meminit: remove mminit_verify_page_links mm: meminit: finish initialisation of struct pages before basic setup Michal Hocko (5): hugetlb: do not account hugetlb pages as NR_FILE_PAGES Documentation/vm/unevictable-lru.txt: clarify MAP_LOCKED behavior mm: do not ignore mapping_gfp_mask in page cache allocation paths Merge branch 'for-4.2/core' of git://git.kernel.dk/linux-block Merge remote-tracking branch 'cgroups/for-4.2' into mmotm Mike Kravetz (3): mm/hugetlb: document the reserve map/region tracking routines mm/hugetlb: compute/return the number of regions added by region_add() mm/hugetlb: handle races in alloc_huge_page and hugetlb_reserve_pages Mike Snitzer (1): block: remove management of bi_remaining when restoring original bi_end_io Minchan Kim (13): x86: add pmd_[dirty|mkclean] for THP sparc: add pmd_[dirty|mkclean] for THP powerpc: add pmd_[dirty|mkclean] for THP arm: add pmd_mkclean for THP arm64: add pmd_[dirty|mkclean] for THP mm: support madvise(MADV_FREE) mm: define MADV_FREE for some arches mm: don't split THP page when syscall is called mm: remove lock validation check for MADV_FREE mm: free swp_entry in madvise_free mm: move lazily freed pages to inactive list mm: document deactivate_page mm: lru_deactivate_fn should clear PG_referenced Ming Lei (1): block: replace trylock with mutex_lock in blkdev_reread_part() Naoya Horiguchi (5): mm/memory-failure: split thp earlier in memory error handling mm/memory-failure: introduce get_hwpoison_page() for consistent refcount handling mm: soft-offline: don't free target page in successful page migration mm/memory-failure: me_huge_page() does nothing for thp mm/hugetlb: introduce minimum hugepage order Nathan Zimmer (1): mm: meminit: only set page reserved in the memblock region Nishanth Aravamudan (1): mm: vmscan: do not throttle based on pfmemalloc reserves if node has no reclaimable pages Paul Bolle (1): mm: Fix comment typo "CONFIG_TRANSPARNTE_HUGE" Pavel Emelyanov (1): userfaultfd: Rename uffd_api.bits into .features Pekka Enberg (10): ipc/util.c: use kvfree() in ipc_rcu_free() kernel/relay.c: use kvfree() in relay_free_page_array() cxgb3: use kvfree() in cxgb_free_mem() cxgb4: use kvfree() in t4_free_mem() drm: use kvfree() in drm_free_large() drm/nouveau/gem: use kvfree() in u_free() IB/ehca: use kvfree() in ipz_queue_{cd}tor() target: use kvfree() in session alloc and free libcxgbi: use kvfree() in cxgbi_free_big_mem() bcache: use kvfree() in various places Piotr Kwapulinski (1): mm/mmap.c: optimization of do_mmap_pgoff function Quentin Lambert (1): memstick: remove deprecated use of pci api Rasmus Villemoes (2): linux/slab.h: fix three off-by-one typos in comment mm: only define hashdist variable when needed Robin Holt (2): memblock: introduce a for_each_reserved_mem_region iterator mm: meminit: move page initialization into a separate function Roman Pen (1): fs/mpage.c: forgotten WRITE_SYNC in case of data integrity write Sergey Senozhatsky (13): zram: add `compact` sysfs entry to documentation zram: cosmetic ZRAM_ATTR_RO code formatting tweak zram: use idr instead of `zram_devices' array zram: reorganize code layout zram: remove max_num_devices limitation zram: report every added and removed device zram: trivial: correct flag operations comment zram: return zram device_id from zram_add() zram: close race by open overriding zram: add dynamic device add/remove functionality zram: cosmetic zram_bvec_write() cleanup zram: cut trailing newline in algorithm name zram: check comp algorithm availability earlier Shailendra Verma (1): mm/cma.c: fix typos in comments Shaohua Li (5): blk: clean up plug sched: always use blk_schedule_flush_plug in io_schedule_out blk-mq: avoid re-initialize request which is failed in direct dispatch blk-mq: do limited block plug for multiple queue case blk-mq: make plug work for mutiple disks and queues Stephen Rothwell (1): userfaultfd: activate syscall fix Steven Rostedt (1): blktrace: Add blktrace.c to BLOCK LAYER in MAINTAINERS file Tahsin Erdogan (1): block: Make CFQ default to IOPS mode on SSDs Tejun Heo (95): cgroup: separate out include/linux/cgroup-defs.h cgroup: reorganize include/linux/cgroup.h sched, cgroup: reorganize threadgroup locking sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem cgroup: simplify threadgroup locking MAINTAINERS: add a cgroup core co-maintainer kernfs: make kernfs_get_inode() public cgroup: separate out cgroup_procs_write_permission() from __cgroup_procs_write() cgroup: require write perm on common ancestor when moving processes on the default hierarchy cgroup: add delegation section to unified hierarchy documentation memcg: remove unused mem_cgroup->oom_wakeups memcg: convert mem_cgroup->under_oom from atomic_t to int page_writeback: revive cancel_dirty_page() in a restricted form blkcg: move block/blk-cgroup.h to include/linux/blk-cgroup.h update !CONFIG_BLK_CGROUP dummies in include/linux/blk-cgroup.h blkcg: always create the blkcg_gq for the root blkcg memcg: add mem_cgroup_root_css blkcg: add blkcg_root_css cgroup, block: implement task_get_css() and use it in bio_associate_current() blkcg: implement task_get_blkcg_css() blkcg: implement bio_associate_blkcg() memcg: implement mem_cgroup_css_from_page() writeback: move backing_dev_info->state into bdi_writeback writeback: move backing_dev_info->bdi_stat[] into bdi_writeback writeback: move bandwidth related fields from backing_dev_info into bdi_writeback writeback: s/bdi/wb/ in mm/page-writeback.c writeback: move backing_dev_info->wb_lock and ->worklist into bdi_writeback writeback: reorganize mm/backing-dev.c writeback: separate out include/linux/backing-dev-defs.h bdi: make inode_to_bdi() inline writeback: add @gfp to wb_init() bdi: separate out congested state into a separate struct writeback: add {CONFIG|BDI_CAP|FS}_CGROUP_WRITEBACK writeback: make backing_dev_info host cgroup-specific bdi_writebacks writeback, blkcg: associate each blkcg_gq with the corresponding bdi_writeback_congested writeback: attribute stats to the matching per-cgroup bdi_writeback writeback: let balance_dirty_pages() work on the matching cgroup bdi_writeback writeback: make congestion functions per bdi_writeback writeback, blkcg: restructure blk_{set|clear}_queue_congested() writeback, blkcg: propagate non-root blkcg congestion state writeback: implement and use inode_congested() writeback: implement WB_has_dirty_io wb_state flag writeback: implement backing_dev_info->tot_write_bandwidth writeback: make bdi_has_dirty_io() take multiple bdi_writeback's into account writeback: don't issue wb_writeback_work if clean writeback: make bdi->min/max_ratio handling cgroup writeback aware writeback: implement bdi_for_each_wb() writeback: remove bdi_start_writeback() writeback: make laptop_mode_timer_fn() handle multiple bdi_writeback's writeback: make writeback_in_progress() take bdi_writeback instead of backing_dev_info writeback: make bdi_start_background_writeback() take bdi_writeback instead of backing_dev_info writeback: make wakeup_flusher_threads() handle multiple bdi_writeback's writeback: make wakeup_dirtytime_writeback() handle multiple bdi_writeback's writeback: add wb_writeback_work->auto_free writeback: implement bdi_wait_for_completion() writeback: implement wb_wait_for_single_work() writeback: restructure try_writeback_inodes_sb[_nr]() writeback: make writeback initiation functions handle multiple bdi_writeback's writeback: dirty inodes against their matching cgroup bdi_writeback's buffer, writeback: make __block_write_full_page() honor cgroup writeback mpage: make __mpage_writepage() honor cgroup writeback ext2: enable cgroup writeback support memcg: make mem_cgroup_read_{stat|event}() iterate possible cpus instead of online writeback: clean up wb_dirty_limit() writeback: reorganize [__]wb_update_bandwidth() writeback: implement wb_domain writeback: move global_dirty_limit into wb_domain writeback: consolidate dirty throttle parameters into dirty_throttle_control writeback: add dirty_throttle_control->wb_bg_thresh writeback: make __wb_calc_thresh() take dirty_throttle_control writeback: add dirty_throttle_control->pos_ratio writeback: add dirty_throttle_control->wb_completions writeback: add dirty_throttle_control->dom writeback: make __wb_writeout_inc() and hard_dirty_limit() take wb_domaas a parameter writeback: separate out domain_dirty_limits() writeback: move over_bground_thresh() to mm/page-writeback.c writeback: update wb_over_bg_thresh() to use wb_domain aware operations writeback: implement memcg wb_domain writeback: reset wb_domain->dirty_limit[_tstmp] when memcg domain size changes writeback: implement memcg writeback domain based throttling mm: vmscan: disable memcg direct reclaim stalling if cgroup writeback support is in use writeback: relocate wb[_try]_get(), wb_put(), inode_{attach|detach}_wb() writeback: make writeback_control track the inode being written back writeback: implement foreign cgroup inode detection writeback: implement [locked_]inode_to_wb_and_lock_list() writeback: implement unlocked_inode_to_wb transaction and use it for stat updates writeback: use unlocked_inode_to_wb transaction in inode_congested() writeback: add lockdep annotation to inode_to_wb() writeback: implement foreign cgroup inode bdi_writeback switching writeback: disassociate inodes from dying bdi_writebacks bdi: fix wrong error return value in cgwb_create() v9fs: fix error handling in v9fs_session_init() writeback: do foreign inode detection iff cgroup writeback is enabled vfs, writeback: replace FS_CGROUP_WRITEBACK with SB_I_CGROUPWB writeback, blkio: add documentation for cgroup writeback support Tobias Klauser (1): frv: remove unused inline function is_in_rom() Tony Luck (3): mm/memblock: add extra "flags" to memblock to allow selection of memory based on attribute mm/memblock: allocate boot time data structures from mirrored memory x86, mirror: x86 enabling - find mirrored memory ranges Vinayak Menon (1): mm: vmscan: fix the page state calculation in too_many_isolated Vladimir Davydov (1): rmap: fix theoretical race between do_wp_page and shrink_active_list Vlastimil Babka (2): mm, thp: respect MPOL_PREFERRED policy with non-local node page-flags-define-behavior-of-lru-related-flags-on-compound-pages-fix-fix Wang Long (1): mm/oom_kill.c: print points as unsigned int Weijie Yang (1): mm: page_isolation: check pfn validity before access Xie XiuQi (3): memory-failure: export page_type and action result memory-failure: change type of action_result's param 3 to enum tracing: add trace event for memory-failure Yann Droneaud (3): fs: use seq_open_private() for proc_mounts fs: allocate structure unconditionally in seq_open() fs: document seq_open()'s usage of file->private_data Zhang Zhen (2): mm/hugetlb: reduce arch dependent code about huge_pmd_unshare mm/hugetlb: reduce arch dependent code about hugetlb_prefault_arch_hook Zhihui Zhang (1): mm: rename RECLAIM_SWAP to RECLAIM_UNMAP Zhu Guihua (1): mm/memory hotplug: print the last vmemmap region at the end of hot add memory -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>