linux/mm/pgtable-generic.c
<<
ptio6.2/spae=" 6.2/form=" 6.2a ptio6. href="../linux+v3.8.1/mm/pgtable-generic.c">ptio6.2img src="../.static/gfx/right.png" alt=">>">pt2/spae="pt2spae class="lxr_search">ptioptio6.2input typ v2hidden" nam v2navtarget" > v2">ptio6.2input typ v2text" nam v2search" idv2search">ptio6.2butt typ v2submit">Searchptio6.Prefs" 6.2/a>pt2/spae="io6. .2/div="io6. .2form acalue="ajax+*" method="post" onsubmit="return false;">pt2input typ v2hidden" nam v2ajax_lookup" idv2ajax_lookup" > v2">pio6. .2/form="pio6. .2div class="headingbott m">" 2div idv2file_contents"=
. .12/a>2spae class="comment">/*2/spae=". .22/a>2spae class="comment"> *  mm/pgtable-generic.c2/spae=". .32/a>2spae class="comment"> *2/spae=". .42/a>2spae class="comment"> *  Generic pgtable methods declared in asm-generic/pgtable.h2/spae=". .52/a>2spae class="comment"> *2/spae=". .62/a>2spae class="comment"> *  Copyright (C) 2010  Linus Tor >
ds2/spae=". .72/a>2spae class="comment"> */2/spae=". .82/a>p. .92/a>#include <linux/pagemap.h2/a>>p. on va>#include <asm/tlb.h2/a>>p. 112/a>#include <asm-generic/pgtable.h2/a>>p. 122/a>p. 132/a>#ifndef.2a href="+code=__HAVE_ARCH_PTEP_SET_ACCESS_FLAGS" class="sref">__HAVE_ARCH_PTEP_SET_ACCESS_FLAGS2/a>p. 142/a>2spae class="comment">/*2/spae=". 152/a>2spae class="comment"> * Only sets the access flags (dirty, accessed), as well as write 2/spae=". 162/a>2spae class="comment"> * permisslue. Furthermore, we know it always gets set to a "more2/spae=". 172/a>2spae class="comment"> * permisslve" setting, which allows most architectures to  valmize2/spae=". 182/a>2spae class="comment"> * this. We return whether the PTE acaually changed, which in turn2/spae=". 192/a>2spae class="comment"> * instructs the caller to do things like update__mmu_cache.  This2/spae=". 202/a>2spae class="comment"> * used to be done in the caller, but sparc needs minor faults to2/spae=". 212/a>2spae class="comment"> * force that call on sun4c so we changed this macro slightly2/spae=". 222/a>2spae class="comment"> */2/spae=". 232/a>int.2a href="+code=ptep_set_access_flags" class="sref">ptep_set_access_flags2/a>(struct.2a href="+code=vm_area_struct" class="sref">vm_area_struct2/a> *2a href="+code=vma" class="sref">vma2/a>,". 242/a>                          unsigned long.2a href="+code=address" class="sref">address2/a>,.2a href="+code=pte_t" class="sref">pte_t2/a> *2a href="+code=ptep" class="sref">ptep2/a>,". 252/a>                          2a href="+code=pte_t" class="sref">pte_t2/a> 2a href="+code=entry" class="sref">entry2/a>,.int.2a href="+code=dirty" class="sref">dirty2/a>)". 262/a>{". 272/a>        int.2a href="+code=changed" class="sref">changed2/a> = !2a href="+code=pte_sam " class="sref">pte_sam 2/a>(*2a href="+code=ptep" class="sref">ptep2/a>, 2a href="+code=entry" class="sref">entry2/a>);p. 282/a>        if (2a href="+code=changed" class="sref">changed2/a>) {". 292/a>                2a href="+code=set_pte_at" class="sref">set_pte_at2/a>(2a href="+code=vma" class="sref">vma2/a>->2a href="+code=vm_mm" class="sref">vm_mm2/a>, 2a href="+code=address" class="sref">address2/a>,.2a href="+code=ptep" class="sref">ptep2/a>, 2a href="+code=entry" class="sref">entry2/a>);p. 302/a>                2a href="+code=flush_tlb_fix_spurious_fault" class="sref">flush_tlb_fix_spurious_fault2/a>(2a href="+code=vma" class="sref">vma2/a>, 2a href="+code=address" class="sref">address2/a>);p. 312/a>        }p. 322/a>        return 2a href="+code=changed" class="sref">changed2/a>;p. 332/a>}p. 342/a>#endifp. 352/a>p. 362/a>#ifndef.2a href="+code=__HAVE_ARCH_PMDP_SET_ACCESS_FLAGS" class="sref">__HAVE_ARCH_PMDP_SET_ACCESS_FLAGS2/a>p. 372/a>int.2a href="+code=pmdp_set_access_flags" class="sref">pmdp_set_access_flags2/a>(struct.2a href="+code=vm_area_struct" class="sref">vm_area_struct2/a> *2a href="+code=vma" class="sref">vma2/a>,". 382/a>                          unsigned long.2a href="+code=address" class="sref">address2/a>,.2a href="+code=pmd_t" class="sref">pmd_t2/a> *2a href="+code=pmdp" class="sref">pmdp2/a>,". 392/a>                          2a href="+code=pmd_t" class="sref">pmd_t2/a> 2a href="+code=entry" class="sref">entry2/a>,.int.2a href="+code=dirty" class="sref">dirty2/a>)". 402/a>{". 412/a>#ifdef.2a href="+code=CONFIG_TRANSPARENT_HUGEPAGE" class="sref">CONFIG_TRANSPARENT_HUGEPAGE2/a>p. 422/a>        int.2a href="+code=changed" class="sref">changed2/a> = !2a href="+code=pmd_sam " class="sref">pmd_sam 2/a>(*2a href="+code=pmdp" class="sref">pmdp2/a>, 2a href="+code=entry" class="sref">entry2/a>);p. 432/a>        2a href="+code=VM_BUG_ON" class="sref">VM_BUG_ON2/a>(2a href="+code=address" class="sref">address2/a> & ~2a href="+code=HPAGE_PMD_MASK" class="sref">HPAGE_PMD_MASK2/a>);p. 442/a>        if (2a href="+code=changed" class="sref">changed2/a>) {". 452/a>                2a href="+code=set_pmd_at" class="sref">set_pmd_at2/a>(2a href="+code=vma" class="sref">vma2/a>->2a href="+code=vm_mm" class="sref">vm_mm2/a>, 2a href="+code=address" class="sref">address2/a>,.2a href="+code=pmdp" class="sref">pmdp2/a>, 2a href="+code=entry" class="sref">entry2/a>);p. 462/a>                2a href="+code=flush_tlb_range" class="sref">flush_tlb_range2/a>(2a href="+code=vma" class="sref">vma2/a>, 2a href="+code=address" class="sref">address2/a>, 2a href="+code=address" class="sref">address2/a> + 2a href="+code=HPAGE_PMD_SIZE" class="sref">HPAGE_PMD_SIZE2/a>);p. 472/a>        }p. 482/a>        return 2a href="+code=changed" class="sref">changed2/a>;p. 492/a>#else 2spae class="comment">/* CONFIG_TRANSPARENT_HUGEPAGE */2/spae=". 502/a>        2a href="+code=BUG" class="sref">BUG2/a>();p. 512/a>        return 0;p. 522/a>#endif 2spae class="comment">/* CONFIG_TRANSPARENT_HUGEPAGE */2/spae=". 532/a>}p. 542/a>#endifp. 552/a>p. 562/a>#ifndef.2a href="+code=__HAVE_ARCH_PTEP_CLEAR_YOUNG_FLUSH" class="sref">__HAVE_ARCH_PTEP_CLEAR_YOUNG_FLUSH2/a>p. 572/a>int.2a href="+code=ptep_clear_flush_young" class="sref">ptep_clear_flush_young2/a>(struct.2a href="+code=vm_area_struct" class="sref">vm_area_struct2/a> *2a href="+code=vma" class="sref">vma2/a>,". 582/a>                           unsigned long.2a href="+code=address" class="sref">address2/a>,.2a href="+code=pte_t" class="sref">pte_t2/a> *2a href="+code=ptep" class="sref">ptep2/a>)". 592/a>{". 602/a>        int.2a href="+code=young" class="sref">young2/a>;p. 612/a>        2a href="+code=young" class="sref">young2/a> = 2a href="+code=ptep_test_and_clear_young" class="sref">ptep_test_and_clear_young2/a>(2a href="+code=vma" class="sref">vma2/a>, 2a href="+code=address" class="sref">address2/a>, 2a href="+code=ptep" class="sref">ptep2/a>);p. 622/a>        if (2a href="+code=young" class="sref">young2/a>)". 632/a>                2a href="+code=flush_tlb_page" class="sref">flush_tlb_page2/a>(2a href="+code=vma" class="sref">vma2/a>, 2a href="+code=address" class="sref">address2/a>);p. 642/a>        return 2a href="+code=young" class="sref">young2/a>;p. 652/a>}p. 662/a>#endifp. 672/a>p. 682/a>#ifndef.2a href="+code=__HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH" class="sref">__HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH2/a>p. 692/a>int.2a href="+code=pmdp_clear_flush_young" class="sref">pmdp_clear_flush_young2/a>(struct.2a href="+code=vm_area_struct" class="sref">vm_area_struct2/a> *2a href="+code=vma" class="sref">vma2/a>,". 702/a>                           unsigned long.2a href="+code=address" class="sref">address2/a>,.2a href="+code=pmd_t" class="sref">pmd_t2/a> *2a href="+code=pmdp" class="sref">pmdp2/a>)". 712/a>{". 722/a>        int.2a href="+code=young" class="sref">young2/a>;p. 732/a>#ifdef.2a href="+code=CONFIG_TRANSPARENT_HUGEPAGE" class="sref">CONFIG_TRANSPARENT_HUGEPAGE2/a>p. 742/a>        2a href="+code=VM_BUG_ON" class="sref">VM_BUG_ON2/a>(2a href="+code=address" class="sref">address2/a> & ~2a href="+code=HPAGE_PMD_MASK" class="sref">HPAGE_PMD_MASK2/a>);p. 752/a>#elsep. 762/a>        2a href="+code=BUG" class="sref">BUG2/a>();p. 772/a>#endif 2spae class="comment">/* CONFIG_TRANSPARENT_HUGEPAGE */2/spae=". 782/a>        2a href="+code=young" class="sref">young2/a> = 2a href="+code=pmdp_test_and_clear_young" class="sref">pmdp_test_and_clear_young2/a>(2a href="+code=vma" class="sref">vma2/a>, 2a href="+code=address" class="sref">address2/a>, 2a href="+code=pmdp" class="sref">pmdp2/a>);p. 792/a>        if (2a href="+code=young" class="sref">young2/a>)". 802/a>                2a href="+code=flush_tlb_range" class="sref">flush_tlb_range2/a>(2a href="+code=vma" class="sref">vma2/a>, 2a href="+code=address" class="sref">address2/a>, 2a href="+code=address" class="sref">address2/a> + 2a href="+code=HPAGE_PMD_SIZE" class="sref">HPAGE_PMD_SIZE2/a>);p. 812/a>        return 2a href="+code=young" class="sref">young2/a>;p. 822/a>}p. 832/a>#endifp. 842/a>p. 852/a>#ifndef.2a href="+code=__HAVE_ARCH_PTEP_CLEAR_FLUSH" class="sref">__HAVE_ARCH_PTEP_CLEAR_FLUSH2/a>p. 862/a>2a href="+code=pte_t" class="sref">pte_t2/a> 2a href="+code=ptep_clear_flush" class="sref">ptep_clear_flush2/a>(struct.2a href="+code=vm_area_struct" class="sref">vm_area_struct2/a> *2a href="+code=vma" class="sref">vma2/a>, unsigned long.2a href="+code=address" class="sref">address2/a>,p. 872/a>                       2a href="+code=pte_t" class="sref">pte_t2/a> *2a href="+code=ptep" class="sref">ptep2/a>)". 882/a>{". 892/a>        2a href="+code=pte_t" class="sref">pte_t2/a> 2a href="+code=pte" class="sref">pte2/a>;p. 902/a>        2a href="+code=pte" class="sref">pte2/a> = 2a href="+code=ptep_get_and_clear" class="sref">ptep_get_and_clear2/a>((2a href="+code=vma" class="sref">vma2/a>)->2a href="+code=vm_mm" class="sref">vm_mm2/a>, 2a href="+code=address" class="sref">address2/a>,.2a href="+code=ptep" class="sref">ptep2/a>);p. 912/a>        if (2a href="+code=pte_accessible" class="sref">pte_accessible2/a>(2a href="+code=pte" class="sref">pte2/a>))". 922/a>                2a href="+code=flush_tlb_page" class="sref">flush_tlb_page2/a>(2a href="+code=vma" class="sref">vma2/a>, 2a href="+code=address" class="sref">address2/a>);p. 932/a>        return 2a href="+code=pte" class="sref">pte2/a>;p. 942/a>}p. 952/a>#endifp. 962/a>p. 972/a>#ifndef.2a href="+code=__HAVE_ARCH_PMDP_CLEAR_FLUSH" class="sref">__HAVE_ARCH_PMDP_CLEAR_FLUSH2/a>p. 982/a>#ifdef.2a href="+code=CONFIG_TRANSPARENT_HUGEPAGE" class="sref">CONFIG_TRANSPARENT_HUGEPAGE2/a>p. 992/a>2a href="+code=pmd_t" class="sref">pmd_t2/a> 2a href="+code=pmdp_clear_flush" class="sref">pmdp_clear_flush2/a>(struct.2a href="+code=vm_area_struct" class="sref">vm_area_struct2/a> *2a href="+code=vma" class="sref">vma2/a>, unsigned long.2a href="+code=address" class="sref">address2/a>,p.1002/a>                       2a href="+code=pmd_t" class="sref">pmd_t2/a> *2a href="+code=pmdp" class="sref">pmdp2/a>)".1012/a>{".1022/a>        2a href="+code=pmd_t" class="sref">pmd_t2/a> 2a href="+code=pmd" class="sref">pmd2/a>;p.1032/a>        2a href="+code=VM_BUG_ON" class="sref">VM_BUG_ON2/a>(2a href="+code=address" class="sref">address2/a> & ~2a href="+code=HPAGE_PMD_MASK" class="sref">HPAGE_PMD_MASK2/a>);p.1042/a>        2a href="+code=pmd" class="sref">pmd2/a> = 2a href="+code=pmdp_get_and_clear" class="sref">pmdp_get_and_clear2/a>(2a href="+code=vma" class="sref">vma2/a>->2a href="+code=vm_mm" class="sref">vm_mm2/a>, 2a href="+code=address" class="sref">address2/a>,.2a href="+code=pmdp" class="sref">pmdp2/a>);p.1052/a>        2a href="+code=flush_tlb_range" class="sref">flush_tlb_range2/a>(2a href="+code=vma" class="sref">vma2/a>, 2a href="+code=address" class="sref">address2/a>, 2a href="+code=address" class="sref">address2/a> + 2a href="+code=HPAGE_PMD_SIZE" class="sref">HPAGE_PMD_SIZE2/a>);p.1062/a>        return 2a href="+code=pmd" class="sref">pmd2/a>;p.1072/a>}p.1082/a>#endif 2spae class="comment">/* CONFIG_TRANSPARENT_HUGEPAGE */2/spae=".1092/a>#endifp.1on va>p.1112/a>#ifndef.2a href="+code=__HAVE_ARCH_PMDP_SPLITTING_FLUSH" class="sref">__HAVE_ARCH_PMDP_SPLITTING_FLUSH va>p.1122/a>#ifdef.2a href="+code=CONFIG_TRANSPARENT_HUGEPAGE" class="sref">CONFIG_TRANSPARENT_HUGEPAGE2/a>p.1132/a>void.2a href="+code=pmdp_splitting_flush" class="sref">pmdp_splitting_flush2/a>(struct.2a href="+code=vm_area_struct" class="sref">vm_area_struct2/a> *2a href="+code=vma" class="sref">vma2/a>, unsigned long.2a href="+code=address" class="sref">address2/a>,p.1142/a>                          2a href="+code=pmd_t" class="sref">pmd_t2/a> *2a href="+code=pmdp" class="sref">pmdp2/a>)".1152/a>{".1162/a>        2a href="+code=pmd_t" class="sref">pmd_t2/a> 2a href="+code=pmd" class="sref">pmd2/a> = 2a href="+code=pmd_mksplitting" class="sref">pmd_mksplitting2/a>(*2a href="+code=pmdp" class="sref">pmdp2/a>);p.1172/a>        2a href="+code=VM_BUG_ON" class="sref">VM_BUG_ON2/a>(2a href="+code=address" class="sref">address2/a> & ~2a href="+code=HPAGE_PMD_MASK" class="sref">HPAGE_PMD_MASK2/a>);p.1182/a>        2a href="+code=set_pmd_at" class="sref">set_pmd_at2/a>(2a href="+code=vma" class="sref">vma2/a>->2a href="+code=vm_mm" class="sref">vm_mm2/a>, 2a href="+code=address" class="sref">address2/a>,.2a href="+code=pmdp" class="sref">pmdp2/a>, 2a href="+code=pmd" class="sref">pmd2/a>);p.1192/a>        2spae class="comment">/* tlb flush only to serialize against gup-fast */2/spae=".1202/a>        2a href="+code=flush_tlb_range" class="sref">flush_tlb_range2/a>(2a href="+code=vma" class="sref">vma2/a>, 2a href="+code=address" class="sref">address2/a>, 2a href="+code=address" class="sref">address2/a> + 2a href="+code=HPAGE_PMD_SIZE" class="sref">HPAGE_PMD_SIZE2/a>);p.1212/a>}p.1222/a>#endif 2spae class="comment">/* CONFIG_TRANSPARENT_HUGEPAGE */2/spae=".1232/a>#endifp.1242/a>p.1252/a>#ifndef.2a href="+code=__HAVE_ARCH_PGTABLE_DEPOSIT" class="sref">__HAVE_ARCH_PGTABLE_DEPOSIT2/a>p.1262/a>#ifdef.2a href="+code=CONFIG_TRANSPARENT_HUGEPAGE" class="sref">CONFIG_TRANSPARENT_HUGEPAGE2/a>p.1272/a>void.2a href="+code=pgtable_trans_huge_deposit" class="sref">pgtable_trans_huge_deposit2/a>(struct.2a href="+code=mm_struct" class="sref">mm_struct2/a> *2a href="+code=mm" class="sref">mm2/a>, 2a href="+code=pgtable_t" class="sref">pgtable_t2/a> 2a href="+code=pgtable" class="sref">pgtable2/a>)".1282/a>{".1292/a>        2a href="+code=assert_spin_locked" class="sref">assert_spin_locked2/a>(&2a href="+code=mm" class="sref">mm2/a>->2a href="+code=page_table_lock" class="sref">page_table_lock2/a>);p.13n va>p.1312/a>        2spae class="comment">/* FIFO */2/spae=".1322/a>        if (!2a href="+code=mm" class="sref">mm2/a>->2a href="+code=pmd_huge_pte" class="sref">pmd_huge_pte2/a>)".1332/a>                2a href="+code=INIT_LIST_HEAD" class="sref">INIT_LIST_HEAD2/a>(&2a href="+code=pgtable" class="sref">pgtable2/a>->2a href="+code=lru" class="sref">lru2/a>);p.1342/a>        elsep.1352/a>                2a href="+code=list_add" class="sref">list_add2/a>(&2a href="+code=pgtable" class="sref">pgtable2/a>->2a href="+code=lru" class="sref">lru2/a>, &2a href="+code=mm" class="sref">mm2/a>->2a href="+code=pmd_huge_pte" class="sref">pmd_huge_pte2/a>->2a href="+code=lru" class="sref">lru2/a>);p.1362/a>        2a href="+code=mm" class="sref">mm2/a>->2a href="+code=pmd_huge_pte" class="sref">pmd_huge_pte2/a> = 2a href="+code=pgtable" class="sref">pgtable2/a>;p.1372/a>}p.1382/a>#endif 2spae class="comment">/* CONFIG_TRANSPARENT_HUGEPAGE */2/spae=".1392/a>#endifp.14n va>p.1412/a>#ifndef.2a href="+code=__HAVE_ARCH_PGTABLE_WITHDRAW" class="sref">__HAVE_ARCH_PGTABLE_WITHDRAW va>p.1422/a>#ifdef.2a href="+code=CONFIG_TRANSPARENT_HUGEPAGE" class="sref">CONFIG_TRANSPARENT_HUGEPAGE2/a>p.1432/a>2spae class="comment">/* no "address" argument so destroys page coloring of some arch */2/spae=".1442/a>2a href="+code=pgtable_t" class="sref">pgtable_t2/a> 2a href="+code=pgtable_trans_huge_withdraw" class="sref">pgtable_trans_huge_withdraw2/a>(struct.2a href="+code=mm_struct" class="sref">mm_struct2/a> *2a href="+code=mm" class="sref">mm2/a>)".1452/a>{".1462/a>        2a href="+code=pgtable_t" class="sref">pgtable_t2/a> 2a href="+code=pgtable" class="sref">pgtable2/a>;p.1472/a>p.1482/a>        2a href="+code=assert_spin_locked" class="sref">assert_spin_locked2/a>(&2a href="+code=mm" class="sref">mm2/a>->2a href="+code=page_table_lock" class="sref">page_table_lock2/a>);p.1492/a>p.1502/a>        2spae class="comment">/* FIFO */2/spae=".1512/a>        2a href="+code=pgtable" class="sref">pgtable2/a> = 2a href="+code=mm" class="sref">mm2/a>->2a href="+code=pmd_huge_pte" class="sref">pmd_huge_pte2/a>;p.1522/a>        if (2a href="+code=list_empty" class="sref">list_empty2/a>(&2a href="+code=pgtable" class="sref">pgtable2/a>->2a href="+code=lru" class="sref">lru2/a>))".1532/a>                2a href="+code=mm" class="sref">mm2/a>->2a href="+code=pmd_huge_pte" class="sref">pmd_huge_pte2/a> = 2a href="+code=NULL" class="sref">NULL2/a>;p.1542/a>        else {".1552/a>                2a href="+code=mm" class="sref">mm2/a>->2a href="+code=pmd_huge_pte" class="sref">pmd_huge_pte2/a> = 2a href="+code=list_entry" class="sref">list_entry2/a>(2a href="+code=pgtable" class="sref">pgtable2/a>->2a href="+code=lru" class="sref">lru2/a>.2a href="+code=next" class="sref">next2/a>,p.1562/a>                                              struct.2a href="+code=page" class="sref">page2/a>, 2a href="+code=lru" class="sref">lru2/a>);p.1572/a>                2a href="+code=list_del" class="sref">list_del2/a>(&2a href="+code=pgtable" class="sref">pgtable2/a>->2a href="+code=lru" class="sref">lru2/a>);p.1582/a>        }p.1592/a>        return 2a href="+code=pgtable" class="sref">pgtable2/a>;p.1602/a>}p.1612/a>#endif 2spae class="comment">/* CONFIG_TRANSPARENT_HUGEPAGE */2/spae=".1622/a>#endif".1632/a>".1642/a>#ifndef.2a href="+code=__HAVE_ARCH_PMDP_INVALIDATE" class="sref">__HAVE_ARCH_PMDP_INVALIDATE2/a>".1652/a>#ifdef.2a href="+code=CONFIG_TRANSPARENT_HUGEPAGE" class="sref">CONFIG_TRANSPARENT_HUGEPAGE2/a>p.1662/a>void.2a href="+code=pmdp_invalidate" class="sref">pmdp_invalidate2/a>(struct.2a href="+code=vm_area_struct" class="sref">vm_area_struct2/a> *2a href="+code=vma" class="sref">vma2/a>, unsigned long.2a href="+code=address" class="sref">address2/a>,p.1672/a>                     2a href="+code=pmd_t" class="sref">pmd_t2/a> *2a href="+code=pmdp" class="sref">pmdp2/a>)".1682/a>{".1692/a>        2a href="+code=set_pmd_at" class="sref">set_pmd_at2/a>(2a href="+code=vma" class="sref">vma2/a>->2a href="+code=vm_mm" class="sref">vm_mm2/a>, 2a href="+code=address" class="sref">address2/a>,.2a href="+code=pmdp" class="sref">pmdp2/a>, 2a href="+code=pmd_mknotpresent" class="sref">pmd_mknotpresent2/a>(*2a href="+code=pmdp" class="sref">pmdp2/a>));p.1702/a>        2a href="+code=flush_tlb_range" class="sref">flush_tlb_range2/a>(2a href="+code=vma" class="sref">vma2/a>, 2a href="+code=address" class="sref">address2/a>, 2a href="+code=address" class="sref">address2/a> + 2a href="+code=HPAGE_PMD_SIZE" class="sref">HPAGE_PMD_SIZE2/a>);p.1712/a>}p.1722/a>#endif 2spae class="comment">/* CONFIG_TRANSPARENT_HUGEPAGE */2/spae=".1732/a>#endifp.1742/a>
The original LXR software by the LXR community2/a>,.this experimental verslue by lxr@linux.no2/a>. 2/div="2div class="subfooter"> lxr.linux.no kindly hosted by Redpill Linpro AS2/a>,.provider of Linux consulting and operaalues services since 1995. 2/div=" 2/body="2/html="