-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I'm announcing the release of the 3.12.30 kernel. All users of the 3.12 kernel series may upgrade. This is more or less a performance release. It was possible only thanks to help from Mel. The updated 3.12.y git tree can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-3.12.y and can be browsed at the normal kernel.org git web browser: http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary - ---------------------------------------------------------------- Al Viro (1): callers of iov_copy_from_user_atomic() don't need pagecache_disable() Bob Liu (2): mm: thp: cleanup: mv alloc_hugepage to better place mm: thp: khugepaged: add policy for finding target node Christoph Lameter (1): vmscan: reclaim_clean_pages_from_list() must use mod_zone_page_state() Damien Ramonda (1): readahead: fix sequential read cache miss detection Dan Streetman (4): swap: change swap_info singly-linked list to list_head lib/plist: add helper functions lib/plist: add plist_requeue swap: change swap_list_head to plist, add swap_avail_head Dave Chinner (1): fs/superblock: unregister sb shrinker before ->kill_sb() David Rientjes (9): mm, compaction: avoid isolating pinned pages mm, compaction: determine isolation mode only once mm, compaction: ignore pageblock skip when manually invoking compaction mm, migration: add destination page freeing callback mm, compaction: return failed migration target pages back to freelist mm, compaction: add per-zone migration pfn cache for async compaction mm, compaction: embed migration mode in compact_control mm, compaction: terminate async compaction when rescheduling mm, thp: only collapse hugepages to nodes with affinity for zone_reclaim_mode Davidlohr Bueso (1): mm: per-thread vma caching Fabian Frederick (1): mm/readahead.c: inline ra_submit Han Pingtian (1): mm: prevent setting of a value less than 0 to min_free_kbytes Heesub Shin (1): mm/compaction: clean up unused code lines Hugh Dickins (4): mm: fix bad rss-counter if remap_file_pages raced migration mm: fix direct reclaim writeback regression shmem: fix init_page_accessed use to stop !PageLRU bug mm/memory.c: use entry = ACCESS_ONCE(*pte) in handle_pte_fault() Jens Axboe (1): mm/filemap.c: avoid always dirtying mapping->flags on O_DIRECT Jerome Marchand (2): mm: make copy_pte_range static again memcg, vmscan: Fix forced scan of anonymous pages Jianyu Zhan (1): mm/swap.c: clean up *lru_cache_add* functions Jiri Slaby (1): Linux 3.12.30 Johannes Weiner (5): lib: radix-tree: add radix_tree_delete_item() mm: shmem: save one radix tree lookup when truncating swapped pages mm: filemap: move radix tree hole searching here mm + fs: prepare for non-page entries in page cache radix trees mm: madvise: fix MADV_WILLNEED on shmem swapouts Joonsoo Kim (7): slab: correct pfmemalloc check mm/compaction: disallow high-order page for migration target mm/compaction: do not call suitable_migration_target() on every page mm/compaction: change the timing to check to drop the spinlock mm/compaction: check pageblock suitability once per pageblock mm/compaction: clean-up code on success of ballon isolation vmalloc: use rcu list iterator to reduce vmap_area_lock contention KOSAKI Motohiro (2): mm: get rid of unnecessary overhead of trace_mm_page_alloc_extfrag() mm: __rmqueue_fallback() should respect pageblock type Linus Torvalds (1): mm: don't pointlessly use BUG_ON() for sanity check Mel Gorman (30): mm, x86: Account for TLB flushes only when debugging x86/mm: Clean up inconsistencies when flushing TLB ranges x86/mm: Eliminate redundant page table walk during TLB range flushing mm: compaction: trace compaction begin and end mm: optimize put_mems_allowed() usage mm: vmscan: use proportional scanning during direct reclaim and full scan at DEF_PRIORITY mm: page_alloc: do not update zlc unless the zlc is active mm: page_alloc: do not treat a zone that cannot be used for dirty pages as "full" include/linux/jump_label.h: expose the reference count mm: page_alloc: use jump labels to avoid checking number_of_cpusets mm: page_alloc: calculate classzone_idx once from the zonelist ref mm: page_alloc: only check the zone id check if pages are buddies mm: page_alloc: only check the alloc flags and gfp_mask for dirty once mm: page_alloc: take the ALLOC_NO_WATERMARK check out of the fast path mm: page_alloc: use unsigned int for order in more places mm: page_alloc: reduce number of times page_to_pfn is called mm: page_alloc: convert hot/cold parameter and immediate callers to bool mm: page_alloc: lookup pageblock migratetype with IRQs enabled during free mm: shmem: avoid atomic operation during shmem_getpage_gfp mm: do not use atomic operations when releasing pages mm: do not use unnecessary atomic operations when adding pages to the LRU fs: buffer: do not use unnecessary atomic operations when discarding buffers mm: non-atomically mark page accessed during page cache allocation where possible mm: avoid unnecessary atomic operations during end_page_writeback() mm: pagemap: avoid unnecessary overhead when tracepoints are deactivated mm: rearrange zone fields into read-only, page alloc, statistics and page reclaim lines mm: move zone->pages_scanned into a vmstat counter mm: vmscan: only update per-cpu thresholds for online CPU mm: page_alloc: abort fair zone allocation policy when remotes nodes are encountered mm: page_alloc: reduce cost of the fair zone allocation policy Michal Hocko (1): mm: exclude memoryless nodes from zone_reclaim Nishanth Aravamudan (1): hugetlb: ensure hugepage access is denied if hugepages are not supported Raghavendra K T (1): mm/readahead.c: fix readahead failure for memoryless NUMA nodes and limit readahead pages Sasha Levin (1): mm: remove read_cache_page_async() Shaohua Li (2): swap: add a simple detector for inappropriate swapin readahead x86/mm: In the PTE swapout page reclaim case clear the accessed bit instead of flushing the TLB Tim Chen (1): fs/superblock: avoid locking counting inodes and dentries before reclaiming them Vladimir Davydov (4): mm: vmscan: shrink all slab objects if tight on memory mm: vmscan: call NUMA-unaware shrinkers irrespective of nodemask mm: vmscan: respect NUMA policy mask when shrinking slab on direct reclaim mm: vmscan: shrink_slab: rename max_pass -> freeable Vlastimil Babka (8): mm: compaction: encapsulate defer reset logic mm: compaction: do not mark unmovable pageblocks as skipped in async compaction mm: compaction: reset scanner positions immediately when they meet mm/compaction: cleanup isolate_freepages() mm/compaction: do not count migratepages when unnecessary mm/compaction: avoid rescanning pageblocks in isolate_freepages mm, compaction: properly signal and act upon lock and need_sched() contention mm/page_alloc: prevent MIGRATE_RESERVE pages from being misplaced Yasuaki Ishimatsu (1): mm: get rid of unnecessary pageblock scanning in setup_zone_migrate_reserve Makefile | 2 +- arch/tile/mm/homecache.c | 2 +- arch/unicore32/include/asm/mmu_context.h | 4 +- arch/x86/include/asm/tlbflush.h | 6 +- arch/x86/kernel/cpu/mtrr/generic.c | 4 +- arch/x86/mm/pgtable.c | 21 +- arch/x86/mm/tlb.c | 52 +-- fs/btrfs/compression.c | 2 +- fs/btrfs/extent_io.c | 15 +- fs/btrfs/file.c | 10 +- fs/buffer.c | 28 +- fs/cramfs/inode.c | 3 +- fs/exec.c | 5 +- fs/ext4/mballoc.c | 14 +- fs/f2fs/checkpoint.c | 1 - fs/f2fs/node.c | 2 - fs/fuse/dev.c | 2 +- fs/fuse/file.c | 4 - fs/gfs2/aops.c | 1 - fs/gfs2/meta_io.c | 4 +- fs/hugetlbfs/inode.c | 5 + fs/jffs2/fs.c | 2 +- fs/nfs/blocklayout/blocklayout.c | 2 +- fs/ntfs/attrib.c | 1 - fs/ntfs/file.c | 1 - fs/proc/task_mmu.c | 3 +- fs/super.c | 16 +- include/linux/compaction.h | 20 +- include/linux/cpuset.h | 56 ++- include/linux/gfp.h | 4 +- include/linux/huge_mm.h | 4 - include/linux/hugetlb.h | 10 + include/linux/jump_label.h | 20 +- include/linux/migrate.h | 11 +- include/linux/mm.h | 11 +- include/linux/mm_types.h | 4 +- include/linux/mmzone.h | 233 +++++----- include/linux/page-flags.h | 6 +- include/linux/pageblock-flags.h | 33 +- include/linux/pagemap.h | 131 +++++- include/linux/pagevec.h | 5 + include/linux/plist.h | 45 ++ include/linux/radix-tree.h | 5 +- include/linux/sched.h | 7 + include/linux/shmem_fs.h | 1 + include/linux/swap.h | 30 +- include/linux/swapfile.h | 2 +- include/linux/vm_event_item.h | 4 +- include/linux/vmacache.h | 38 ++ include/linux/vmstat.h | 8 + include/trace/events/compaction.h | 67 ++- include/trace/events/kmem.h | 10 +- include/trace/events/pagemap.h | 16 +- kernel/cpuset.c | 16 +- kernel/debug/debug_core.c | 14 +- kernel/fork.c | 7 +- lib/plist.c | 52 +++ lib/radix-tree.c | 106 ++--- mm/Makefile | 2 +- mm/compaction.c | 347 ++++++++------- mm/filemap.c | 470 ++++++++++++++------- mm/fremap.c | 28 +- mm/frontswap.c | 13 +- mm/huge_memory.c | 93 +++- mm/hugetlb.c | 17 +- mm/internal.h | 22 +- mm/madvise.c | 2 +- mm/memory-failure.c | 4 +- mm/memory.c | 4 +- mm/memory_hotplug.c | 2 +- mm/mempolicy.c | 16 +- mm/migrate.c | 56 ++- mm/mincore.c | 20 +- mm/mmap.c | 55 +-- mm/nommu.c | 24 +- mm/page_alloc.c | 423 +++++++++++-------- mm/readahead.c | 37 +- mm/shmem.c | 133 ++---- mm/slab.c | 12 +- mm/slub.c | 16 +- mm/swap.c | 101 ++++- mm/swap_state.c | 65 ++- mm/swapfile.c | 224 +++++----- mm/truncate.c | 74 +++- mm/vmacache.c | 114 +++++ mm/vmalloc.c | 6 +- mm/vmscan.c | 144 ++++--- mm/vmstat.c | 13 +- 88 files changed, 2367 insertions(+), 1358 deletions(-) create mode 100644 include/linux/vmacache.h create mode 100644 mm/vmacache.c thanks, - -- js -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBAgAGBQJUNVlfAAoJEL0lsQQGtHBJ8XAQAIlH7KRJ7pQqQnQhiP8HOgMQ +8R9+hoAxikVb/uhlmbtIwPuVYyIxRXL7bHfPW/T8X9wdVEKkSyJ+9E+fgu7GGhz z8TBUTz4ZYCVy4FoNEqx8L3Z63El9HZ8sX5SkobX/3HyJ3z4pa9Wm0CcF0bR2QXV gdfX5Axdb7FfJg9VyNduITF8upu8zFBpxZDaPwjppjdP+3COaIY3TqeNmg1x93aO 06pAo2By0a4OipgG7Zeuu5gJPIL+OKHebJ74SdW7aVgmflY/5G16JlkmzaYoTjkU Uz+jUBG2o25kerw7lmmI7qvezaXdF6GEmPZ4GK4Oa602TUVqIqgMrBgx3/3YTomX vnaE4n9ZwvXp1wKDhpKDnmV+tAydhUwBWnqCgHQuhBSJhTViF52REUiMXtZv4f0D 4e4D6LnzDLioFZp9cxRKHmxc/HH6ZThWQrleSFkEW87wUF+8eHBzLkjb+fpIdWYy V9elT0EegrRgKslyqIxVi1n6YdvbFgC1HNwI5GpYptGK9OCnwLOZF4VrH0uZQxu7 3LJAzonnYPT+5nWrrJxKtT2xeEXSQKTdoIq78vM1SFcXZZWtzg9S4IyiJuRtlMWp ugiHJ5Oi51Z8Rdlv7RQQwaW8EG40uuunSsXpcnOKNVGuTJzHzzArYrhWTIDC6iz8 1Lqi15W71wzbJmLCS3tc =viSl -----END PGP SIGNATURE----- -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html