2017-10-19-17-00 merged
Andrea Arcangeli (1):
userfaultfd: hugetlbfs: prevent UFFDIO_COPY to fill beyond the end of i_size
Andrew Morton (4):
mm-drop-migrate-type-checks-from-has_unmovable_pages-fix
mm-deferred_init_memmap-improvements-fix
mm-stop-zeroing-memory-during-allocation-in-vmemmap-fix
mm-batch-radix-tree-operations-when-truncating-pages-fix-fix
Ashish Samant (1):
ocfs2: fstrim: Fix start offset of first cluster group during fstrim
Colin Ian King (1):
drivers/block/zram/zram_drv.c: make zram_page_end_io() static
David Rientjes (1):
mm/slab.c: only set __GFP_RECLAIMABLE once
Huang Ying (2):
mm, /proc/pid/pagemap: fix soft dirty marking for PMD migration entry
mm, swap: Fix race between swap count continuation operations
Jan Kara (8):
mm: speed up cancel_dirty_page() for clean pages
mm: refactor truncate_complete_page()
mm: factor out page cache page freeing into a separate function
mm: move accounting updates before page_cache_tree_delete()
mm: move clearing of page->mapping to page_cache_tree_delete()
mm: factor out checks and accounting from __delete_from_page_cache()
mm: batch radix tree operations when truncating pages
mm: convert delete_from_page_cache_batch() to pagevec
Jérôme Glisse (2):
mm-mmu_notifier-avoid-double-notification-when-it-is-useless-v2
mm/mmu_notifier: avoid call to invalidate_range() in range_end()
Kemi Wang (1):
mm, sysctl: make NUMA stats configurable
Kirill A. Shutemov (1):
mm-consolidate-page-table-accounting-fix
Laszlo Toth (1):
mm, soft_offline: improve hugepage soft offlining error log
Mel Gorman (11):
mm, page_alloc: enable/disable IRQs once when freeing a list of pages
mm-page_alloc-enable-disable-irqs-once-when-freeing-a-list-of-pages-fix
mm, truncate: do not check mapping for every page being truncated
mm, truncate: remove all exceptional entries from pagevec under one lock
mm: only drain per-cpu pagevecs once per pagevec usage
mm, pagevec: remove cold parameter for pagevecs
mm: remove cold parameter for release_pages
mm: remove cold parameter from free_hot_cold_page*
mm-remove-cold-parameter-from-free_hot_cold_page-fix
mm: remove __GFP_COLD
mm, pagevec: rename pagevec drained field
Michal Hocko (6):
Reverted "mm-mmu_notifier-avoid-double-notification-when-it-is-useless-checkpatch-fixes"
Reverted "mm-sysctl-make-numa-stats-configurable-fix-fix"
Reverted "mm-sysctl-make-numa-stats-configurable-fix"
Reverted "mm, sysctl: make NUMA stats configurable"
mm: drop migrate type checks from has_unmovable_pages
mm, page_alloc: fail has_unmovable_pages when seeing reserved pages
Mike Kravetz (1):
fs/hugetlbfs/inode.c: fix hwpoison reserve accounting
Mike Rapoport (1):
userfaultfd: use mmgrab instead of open-coded increment of mm_count
Otto Ebeling (1):
Unify migrate_pages and move_pages access checks
Vlastimil Babka (1):
mm, page_alloc: simplify list handling in rmqueue_bulk()
weiping zhang (1):
shmem: convert shmem_init_inodecache() to void
mm, sysctl: make NUMA stats configurable
This is the second step which introduces a tunable interface that allow
numa stats configurable for optimizing zone_statistics(), as suggested by
Dave Hansen and Ying Huang.
=========================================================================
When page allocation performance becomes a bottleneck and you can tolerate
some possible tool breakage and decreased numa counter precision, you can
do:
echo 0 > /proc/sys/vm/numa_stat
In this case, numa counter update is ignored. We can see about
*4.8%*(185->176) drop of cpu cycles per single page allocation and reclaim
on Jesper's page_bench01 (single thread) and *8.1%*(343->315) drop of cpu
cycles per single page allocation and reclaim on Jesper's page_bench03 (88
threads) running on a 2-Socket Broadwell-based server (88 threads, 126G
memory).
Benchmark link provided by Jesper D Brouer(increase loop times to
10000000):
https://github.com/netoptimizer/prototype-kernel/tree/master/kernel/mm/
bench
=========================================================================
When page allocation performance is not a bottleneck and you want all
tooling to work, you can do:
echo 1 > /proc/sys/vm/numa_stat
This is system default setting.
Many thanks to Michal Hocko, Dave Hansen, Ying Huang and Vlastimil Babka
for comments to help improve the original patch.
Link: http://lkml.kernel.org/r/1508290927-8518-1-git-send-email-kemi.wang@intel.com
Signed-off-by: Kemi Wang <kemi.wang@intel.com>
Reported-by: Jesper Dangaard Brouer <brouer@redhat.com>
Suggested-by: Dave Hansen <dave.hansen@intel.com>
Suggested-by: Ying Huang <ying.huang@intel.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: "Luis R . Rodriguez" <mcgrof@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Christopher Lameter <cl@linux.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Tim Chen <tim.c.chen@intel.com>
Cc: Andi Kleen <andi.kleen@intel.com>
Cc: Aaron Lu <aaron.lu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
6 files changed