Skip to content

Transparent Hugepage support #13

[email protected] linux-mm 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest35 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/35define MADV_HUGEPAGEarch/alpha/include/asm/mman.h arch/mips/include/asm/mman.h arch/parisc/include/asm/mman.h +2 more+10 -00 replies
2/35compound_lockinclude/linux/mm.h include/linux/page-flags.h+26 -10 replies
3/35alter compound get_page/put_pagearch/powerpc/mm/gup.c arch/x86/mm/gup.c include/linux/mm.h +1 more+106 -90 replies
4/35update futex compound knowledgekernel/futex.c+58 -90 replies
5/35fix bad_page to show the real reason the page is badmm/page_alloc.c+1 -10 replies
6/35clear compound mappingmm/page_alloc.c+2 -00 replies
7/35add native_set_pmd_atarch/x86/include/asm/pgtable.h+6 -00 replies
8/35add pmd paravirt opsarch/x86/include/asm/paravirt.h arch/x86/include/asm/paravirt_types.h arch/x86/kernel/paravirt.c+32 -00 replies
9/35no paravirt version of pmd opsarch/x86/include/asm/pgtable.h+3 -00 replies
10/35export maybe_mkwriteinclude/linux/mm.h mm/memory.c+13 -130 replies
11/35comment reminder in destroy_compound_pagemm/page_alloc.c+1 -00 replies
12/35config_transparent_hugepagemm/Kconfig+14 -00 replies
13/35special pmd_trans_* functionsarch/x86/include/asm/pgtable_64.h arch/x86/include/asm/pgtable_types.h include/asm-generic/pgtable.h+20 -00 replies
14/35add pmd mangling generic functionsinclude/asm-generic/pgtable.h+125 -00 replies
15/35add pmd mangling functions to x86arch/x86/include/asm/pgtable.h arch/x86/include/asm/pgtable_64.h arch/x86/mm/pgtable.c+175 -40 replies
16/35bail out gup_fast on splitting pmdarch/x86/mm/gup.c+12 -10 replies
17/35pte alloc trans splittinginclude/linux/mm.h mm/memory.c mm/mremap.c+25 -140 replies
18/35add pmd mmu_notifier helpersinclude/linux/mmu_notifier.h+40 -00 replies
19/35clear page compoundinclude/linux/page-flags.h+16 -10 replies
20/35add pmd_huge_pte to mm_structinclude/linux/mm_types.h kernel/fork.c+10 -00 replies
21/35split_huge_page_mm/vmaarch/x86/kernel/vm86_32.c mm/mempolicy.c mm/mincore.c +3 more+6 -00 replies
22/35split_huge_page pagingmm/memory-failure.c mm/rmap.c mm/swap_state.c +1 more+11 -00 replies
23/35clear_copy_huge_pageinclude/linux/mm.h mm/hugetlb.c mm/memory.c+82 -660 replies
24/35kvm mmu transparent hugepage supportarch/x86/kvm/mmu.c+9 -00 replies
25/35_GFP_NO_KSWAPDinclude/linux/gfp.h mm/page_alloc.c+5 -20 replies
26/35dont alloc harder for gfp nomemalloc even if nowaitmm/page_alloc.c+5 -10 replies
27/35transparent hugepage coreinclude/linux/gfp.h include/linux/huge_mm.h include/linux/mm.h +7 more+1144 -320 replies
28/35adapt to mm_counter in -mmmm/huge_memory.c+3 -30 replies
29/35verify pmd_trans_huge isnt leakingmm/memory.c+6 -10 replies
30/35madvise(MADV_HUGEPAGE)include/linux/huge_mm.h mm/huge_memory.c mm/madvise.c+30 -00 replies
31/35pmd_trans_huge migrate bugcheckinclude/linux/huge_mm.h mm/migrate.c+10 -00 replies
32/35memcg compoundDocumentation/cgroups/memory.txt mm/memcontrol.c+49 -310 replies
33/35memcg huge memorymm/huge_memory.c+25 -50 replies
34/35transparent hugepage vmstatfs/proc/meminfo.c include/linux/mmzone.h mm/huge_memory.c +2 more+30 -40 replies
35/35khugepagedinclude/linux/huge_mm.h include/linux/khugepaged.h include/linux/sched.h +2 more+1048 -70 replies

Reviews trailers per patch

All 35 patches have a Reviewed-by or Acked-by.

PatchRik van RielMel GormanArnd BergmannChristoph Lameter
1/35A-b A-b
2/35A-b
3/35A-b
4/35A-b A-b
5/35A-b A-b
6/35A-b A-b
7/35A-b A-b
8/35A-b A-b
9/35A-b A-b
10/35A-b A-b
11/35A-b A-b
12/35A-b A-b
13/35A-b
14/35A-b
15/35A-b
16/35A-b A-b
17/35A-b A-b
18/35A-b
19/35A-b R-b
20/35A-b
21/35A-b A-b
22/35A-b A-b
23/35A-b A-b
24/35A-b
25/35A-b
26/35A-b
27/35A-b
28/35A-b
29/35A-b
30/35A-b
31/35A-b
32/35A-b
33/35A-b
34/35A-b
35/35A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v1 thread

Cover letter [patch 00/35] Transparent Hugepage support #13

Hello,

This is against 2.6.34-rc1, no other change compared to #12 other than disabling defrag for anything but khugepaged because current direct reclaim is too slow to run it for hugepages allocations during page faults. We'll enable it again for MADV_HUGEPAGE page faults later with memory compaction when there will be better chance that it's useful CPU work.

I assume if this will be merged the "memory compaction core" from Mel will plug nicely on top of this by altering alloc_hugepage() accordingly.

Hopefully this is polished enough, the main gripe is left is the #ifdef in the futex code pointed out by Peter, but without knowing the details of gup_fast of whatever new architecture that will be able to mix regular pages and hugepages in the same vma, it's hard to tell what is the cleanest way to abstract that code. Feel free to give a direction on how to change it, if that patch isn't polished enough.

	http://www.kernel.org/pub/linux/kernel/people/andrea/patches/v2.6/2.6.34-rc1/transparent-hugepage-13/

Thanks,
Andrea

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