linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Transparent Hugepage Support #24
@ 2010-05-20  1:04 Andrea Arcangeli
  0 siblings, 0 replies; only message in thread
From: Andrea Arcangeli @ 2010-05-20  1:04 UTC (permalink / raw)
  To: linux-mm, Andrew Morton
  Cc: Marcelo Tosatti, Adam Litke, Avi Kivity, Izik Eidus, Hugh Dickins,
	Nick Piggin, Rik van Riel, Mel Gorman, Dave Hansen,
	Benjamin Herrenschmidt, Ingo Molnar, Mike Travis,
	KAMEZAWA Hiroyuki, Christoph Lameter, Chris Wright, bpicco,
	KOSAKI Motohiro, Balbir Singh, Michael S. Tsirkin, Peter Zijlstra,
	Johannes Weiner, Daisuke Nishimura, Chris Mason, Borislav Petkov

http://git.kernel.org/?p=linux/kernel/git/andrea/aa.git;a=shortlog
http://git.kernel.org/?p=linux/kernel/git/andrea/aa.git;a=shortlog;h=refs/heads/anon_vma_chain

first: git clone git://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git
or first: git clone --reference linux-2.6 git://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git
later: git fetch; git checkout -f origin/master

To test the anon_vma_chain branch, simply use origin/anon_vma_chain
instead of origin/master in the above checkout. I am currently running
the origin/anon_vma_chain branch here (keeping master only in case of
troubles with the new anon-vma code, so far no problem with the
anon-vma->root shared locking design).

The tree is rebased and git pull won't work.

http://www.kernel.org/pub/linux/kernel/people/andrea/patches/v2.6/2.6.34/transparent_hugepage-24/
http://www.kernel.org/pub/linux/kernel/people/andrea/patches/v2.6/2.6.34/transparent_hugepage-24.gz
http://www.kernel.org/pub/linux/kernel/people/andrea/patches/v2.6/2.6.34/transparent_hugepage-24-anon_vma_chain.gz

Diff #23 -> #24

 anon-vma-lock-fix                                          |  247 -------------

Removed and replaced by anon-vma-root shared lock.

 b/backout-anon_vma-chain                                   |   39 +-

Small change.

 b/exec-migrate-race-anon_vma-chain                         |  196 +++++-----

Replaced with the version that keeps migrate away instead of allowing
rmap at all times (so it won't require allocations in execve).

 b/khugepaged                                               |   19 -
 b/khugepaged-old-anon_vma                                  |   39 ++
 b/khugepaged-vma-merge-anon_vma-chain                      |   16 

Adapted to anon-vma-root locking.

 b/kvm_transparent_hugepage                                 |  132 ++++++

Speedup and avoid spurious warning.

 b/memory-compaction-anon-vma-refcount                      |   10 
 b/memory-compaction-anon-vma-refcount-anon-vma-chain       |  126 ++++++
 b/memory-compaction-anon-vma-share-refcount                |   14 
 b/memory-compaction-anon-vma-share-refcount-anon-vma-chain |  166 ++++++++

Adapt to anon-vma-root locking (two versions needed now).

 b/memory-compaction-migrate_prep                           |   84 +++-

drain local lru in migrate.

 b/mprotect-vma-arg                                         |   32 -

anon-vma-root locking adjustment.

 b/root_anon_vma-anon_vma_lock                              |  213 +++++++++++
 b/root_anon_vma-ksm_refcount                               |  169 ++++++++
 b/root_anon_vma-lock_root                                  |  118 ++++++
 b/root_anon_vma-oldest_root                                |   84 ++++
 b/root_anon_vma-vma_lock_anon_vma                          |   97 +++++

Rik's anon-vma-root shared locking implementation (only in
anon_vma_chain branch).

 b/split_huge_page-old-anon-vma                             |   42 ++

anon-vma-root locking adjustment for master branch.

 mincore-transhuge-anon_vma-chain                           |   69 ---
 mprotect-transhuge-anon_vma-chain                          |   21 -
 transparent_hugepage-anon_vma-chain                        |  203 ----------

anon-vma-root locking adjustment for anon_vma_chain branch.

Diff against 2.6.34 (anon_vma_chain branch):

 Documentation/cgroups/memory.txt      |    4 
 Documentation/sysctl/vm.txt           |   25 
 Documentation/vm/transhuge.txt        |  283 ++++
 arch/alpha/include/asm/mman.h         |    2 
 arch/mips/include/asm/mman.h          |    2 
 arch/parisc/include/asm/mman.h        |    2 
 arch/powerpc/mm/gup.c                 |   12 
 arch/x86/include/asm/paravirt.h       |   23 
 arch/x86/include/asm/paravirt_types.h |    6 
 arch/x86/include/asm/pgtable-2level.h |    9 
 arch/x86/include/asm/pgtable-3level.h |   23 
 arch/x86/include/asm/pgtable.h        |  144 ++
 arch/x86/include/asm/pgtable_64.h     |   14 
 arch/x86/include/asm/pgtable_types.h  |    3 
 arch/x86/kernel/paravirt.c            |    3 
 arch/x86/kernel/vm86_32.c             |    1 
 arch/x86/kvm/mmu.c                    |   26 
 arch/x86/kvm/paging_tmpl.h            |    4 
 arch/x86/mm/gup.c                     |   25 
 arch/x86/mm/pgtable.c                 |   66 +
 arch/xtensa/include/asm/mman.h        |    2 
 drivers/base/node.c                   |    3 
 fs/Kconfig                            |    2 
 fs/exec.c                             |    7 
 fs/proc/meminfo.c                     |   14 
 fs/proc/page.c                        |   14 
 include/asm-generic/mman-common.h     |    2 
 include/asm-generic/pgtable.h         |  130 ++
 include/linux/compaction.h            |   89 +
 include/linux/gfp.h                   |   14 
 include/linux/huge_mm.h               |  143 ++
 include/linux/khugepaged.h            |   66 +
 include/linux/kvm_host.h              |    4 
 include/linux/memory_hotplug.h        |   14 
 include/linux/migrate.h               |    2 
 include/linux/mm.h                    |   93 +
 include/linux/mm_inline.h             |   13 
 include/linux/mm_types.h              |    3 
 include/linux/mmu_notifier.h          |   40 
 include/linux/mmzone.h                |   10 
 include/linux/page-flags.h            |   36 
 include/linux/rmap.h                  |   58 
 include/linux/sched.h                 |    1 
 include/linux/swap.h                  |    8 
 include/linux/vmstat.h                |    4 
 kernel/fork.c                         |   12 
 kernel/futex.c                        |   67 -
 kernel/sysctl.c                       |   25 
 mm/Kconfig                            |   56 
 mm/Makefile                           |    2 
 mm/compaction.c                       |  620 +++++++++
 mm/huge_memory.c                      | 2157 ++++++++++++++++++++++++++++++++++
 mm/hugetlb.c                          |   69 -
 mm/ksm.c                              |   77 -
 mm/madvise.c                          |    8 
 mm/memcontrol.c                       |   88 -
 mm/memory-failure.c                   |    2 
 mm/memory.c                           |  179 ++
 mm/memory_hotplug.c                   |   14 
 mm/mempolicy.c                        |   14 
 mm/migrate.c                          |   77 +
 mm/mincore.c                          |  302 ++--
 mm/mmap.c                             |   37 
 mm/mprotect.c                         |   20 
 mm/mremap.c                           |    8 
 mm/page_alloc.c                       |  132 +-
 mm/pagewalk.c                         |    1 
 mm/rmap.c                             |  211 ++-
 mm/sparse.c                           |    4 
 mm/swap.c                             |  116 +
 mm/swap_state.c                       |    6 
 mm/swapfile.c                         |    2 
 mm/vmscan.c                           |   42 
 mm/vmstat.c                           |  256 ++++
 virt/kvm/iommu.c                      |    2 
 virt/kvm/kvm_main.c                   |   39 
 76 files changed, 5586 insertions(+), 508 deletions(-)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-05-20  1:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-20  1:04 Transparent Hugepage Support #24 Andrea Arcangeli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).