kernel_optimize_test/mm
David Rientjes f0432d1596 mm, mempolicy: remove per-process flag
PF_MEMPOLICY is an unnecessary optimization for CONFIG_SLAB users.
There's no significant performance degradation to checking
current->mempolicy rather than current->flags & PF_MEMPOLICY in the
allocation path, especially since this is considered unlikely().

Running TCP_RR with netperf-2.4.5 through localhost on 16 cpu machine with
64GB of memory and without a mempolicy:

	threads		before		after
	16		1249409		1244487
	32		1281786		1246783
	48		1239175		1239138
	64		1244642		1241841
	80		1244346		1248918
	96		1266436		1254316
	112		1307398		1312135
	128		1327607		1326502

Per-process flags are a scarce resource so we should free them up whenever
possible and make them available.  We'll be using it shortly for memcg oom
reserves.

Signed-off-by: David Rientjes <rientjes@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Jianguo Wu <wujianguo@huawei.com>
Cc: Tim Hockin <thockin@google.com>
Cc: Christoph Lameter <cl@linux.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-04-07 16:35:54 -07:00
..
backing-dev.c
balloon_compaction.c
bootmem.c
bounce.c
cleancache.c
compaction.c mm/compaction: clean-up code on success of ballon isolation 2014-04-07 16:35:51 -07:00
debug-pagealloc.c
dmapool.c
fadvise.c
failslab.c
filemap_xip.c
filemap.c mm: cleanup size checks in filemap_fault() and filemap_map_pages() 2014-04-07 16:35:53 -07:00
fremap.c
frontswap.c
highmem.c
huge_memory.c mm: revert "thp: make MADV_HUGEPAGE check for mm->def_flags" 2014-04-07 16:35:51 -07:00
hugetlb_cgroup.c
hugetlb.c mm: use macros from compiler.h instead of __attribute__((...)) 2014-04-07 16:35:54 -07:00
hwpoison-inject.c
init-mm.c
internal.h
interval_tree.c
Kconfig mm: disable split page table lock for !MMU 2014-04-07 16:35:52 -07:00
Kconfig.debug
kmemcheck.c
kmemleak-test.c
kmemleak.c
ksm.c
list_lru.c
maccess.c
madvise.c
Makefile mm: per-thread vma caching 2014-04-07 16:35:53 -07:00
memblock.c
memcontrol.c
memory_hotplug.c
memory-failure.c
memory.c mm: add debugfs tunable for fault_around_order 2014-04-07 16:35:53 -07:00
mempolicy.c mm, mempolicy: remove per-process flag 2014-04-07 16:35:54 -07:00
mempool.c
migrate.c
mincore.c
mlock.c
mm_init.c
mmap.c mm: per-thread vma caching 2014-04-07 16:35:53 -07:00
mmu_context.c
mmu_notifier.c
mmzone.c
mprotect.c mm: move mmu notifier call from change_protection to change_pmd_range 2014-04-07 16:35:50 -07:00
mremap.c
msync.c
nobootmem.c
nommu.c mm: use macros from compiler.h instead of __attribute__((...)) 2014-04-07 16:35:54 -07:00
oom_kill.c
page_alloc.c mm: exclude memoryless nodes from zone_reclaim 2014-04-07 16:35:50 -07:00
page_cgroup.c
page_io.c
page_isolation.c
page-writeback.c
pagewalk.c
percpu-km.c
percpu-vm.c
percpu.c
pgtable-generic.c
process_vm_access.c
quicklist.c
readahead.c
rmap.c
shmem.c mm: implement ->map_pages for shmem/tmpfs 2014-04-07 16:35:53 -07:00
slab_common.c
slab.c mm, mempolicy: remove per-process flag 2014-04-07 16:35:54 -07:00
slab.h
slob.c
slub.c mm, mempolicy: rename slab_node for clarity 2014-04-07 16:35:54 -07:00
sparse-vmemmap.c
sparse.c mm: use macros from compiler.h instead of __attribute__((...)) 2014-04-07 16:35:54 -07:00
swap_state.c
swap.c
swapfile.c
truncate.c
util.c mm: use macros from compiler.h instead of __attribute__((...)) 2014-04-07 16:35:54 -07:00
vmacache.c mm: per-thread vma caching 2014-04-07 16:35:53 -07:00
vmalloc.c mm: use macros from compiler.h instead of __attribute__((...)) 2014-04-07 16:35:54 -07:00
vmpressure.c
vmscan.c mm/vmscan: do not check compaction_ready on promoted zones 2014-04-07 16:35:50 -07:00
vmstat.c
workingset.c
zbud.c
zsmalloc.c
zswap.c