€•‘0Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ*/translations/zh_CN/arch/arm64/hugetlbpage”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/zh_TW/arch/arm64/hugetlbpage”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/it_IT/arch/arm64/hugetlbpage”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ja_JP/arch/arm64/hugetlbpage”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ko_KR/arch/arm64/hugetlbpage”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/sp_SP/arch/arm64/hugetlbpage”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒtarget”“”)”}”(hŒ.. _hugetlbpage_index:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œhugetlbpage-index”uh1h¡h KhhhžhhŸŒD/var/lib/git/docbuild/linux/Documentation/arch/arm64/hugetlbpage.rst”ubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒHugeTLBpage on ARM64”h]”hŒHugeTLBpage on ARM64”…””}”(hh·hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hµhh²hžhhŸh¯h KubhŒ paragraph”“”)”}”(hŒ}Hugepage relies on making efficient use of TLBs to improve performance of address translations. The benefit depends on both -”h]”hŒ}Hugepage relies on making efficient use of TLBs to improve performance of address translations. The benefit depends on both -”…””}”(hhÇhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h Khh²hžhubhŒ block_quote”“”)”}”(hŒ@- the size of hugepages - size of entries supported by the TLBs ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒthe size of hugepages”h]”hÆ)”}”(hhäh]”hŒthe size of hugepages”…””}”(hhæhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K hhâubah}”(h]”h ]”h"]”h$]”h&]”uh1hàhhÝubhá)”}”(hŒ&size of entries supported by the TLBs ”h]”hÆ)”}”(hŒ%size of entries supported by the TLBs”h]”hŒ%size of entries supported by the TLBs”…””}”(hhýhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K hhùubah}”(h]”h ]”h"]”h$]”h&]”uh1hàhhÝubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1hÛhŸh¯h K hh×ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhŸh¯h K hh²hžhubhÆ)”}”(hŒ2The ARM64 port supports two flavours of hugepages.”h]”hŒ2The ARM64 port supports two flavours of hugepages.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K hh²hžhubh±)”}”(hhh]”(h¶)”}”(hŒ&1) Block mappings at the pud/pmd level”h]”hŒ&1) Block mappings at the pud/pmd level”…””}”(hj0hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hµhj-hžhhŸh¯h KubhÆ)”}”(hŒíThese are regular hugepages where a pmd or a pud page table entry points to a block of memory. Regardless of the supported size of entries in TLB, block mappings reduce the depth of page table walk needed to translate hugepage addresses.”h]”hŒíThese are regular hugepages where a pmd or a pud page table entry points to a block of memory. Regardless of the supported size of entries in TLB, block mappings reduce the depth of page table walk needed to translate hugepage addresses.”…””}”(hj>hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h Khj-hžhubeh}”(h]”Œ#block-mappings-at-the-pud-pmd-level”ah ]”h"]”Œ&1) block mappings at the pud/pmd level”ah$]”h&]”uh1h°hh²hžhhŸh¯h Kubh±)”}”(hhh]”(h¶)”}”(hŒ2) Using the Contiguous bit”h]”hŒ2) Using the Contiguous bit”…””}”(hjWhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hµhjThžhhŸh¯h KubhÆ)”}”(hŒßThe architecture provides a contiguous bit in the translation table entries (D4.5.3, ARM DDI 0487C.a) that hints to the MMU to indicate that it is one of a contiguous set of entries that can be cached in a single TLB entry.”h]”hŒßThe architecture provides a contiguous bit in the translation table entries (D4.5.3, ARM DDI 0487C.a) that hints to the MMU to indicate that it is one of a contiguous set of entries that can be cached in a single TLB entry.”…””}”(hjehžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h KhjThžhubhÆ)”}”(hŒ½The contiguous bit is used in Linux to increase the mapping size at the pmd and pte (last) level. The number of supported contiguous entries varies by page size and level of the page table.”h]”hŒ½The contiguous bit is used in Linux to increase the mapping size at the pmd and pte (last) level. The number of supported contiguous entries varies by page size and level of the page table.”…””}”(hjshžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h KhjThžhubhÆ)”}”(hŒ,The following hugepage sizes are supported -”h]”hŒ,The following hugepage sizes are supported -”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K#hjThžhubhÖ)”}”(hX====== ======== ==== ======== === - CONT PTE PMD CONT PMD PUD ====== ======== ==== ======== === 4K: 64K 2M 32M 1G 16K: 2M 32M 1G 64K: 2M 512M 16G ====== ======== ==== ======== ===”h]”hŒtable”“”)”}”(hhh]”hŒtgroup”“”)”}”(hhh]”(hŒcolspec”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhjšubjž)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhjšubjž)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhjšubjž)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhjšubjž)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jhjšubhŒthead”“”)”}”(hhh]”hŒrow”“”)”}”(hhh]”(hŒentry”“”)”}”(hhh]”hÜ)”}”(hhh]”há)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1hàhjàubah}”(h]”h ]”h"]”h$]”h&]”jjuh1hÛhŸh¯h K&hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjØubjÜ)”}”(hhh]”hÆ)”}”(hŒCONT PTE”h]”hŒCONT PTE”…””}”(hjûhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K&hjøubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjØubjÜ)”}”(hhh]”hÆ)”}”(hŒPMD”h]”hŒPMD”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K&hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjØubjÜ)”}”(hhh]”hÆ)”}”(hŒCONT PMD”h]”hŒCONT PMD”…””}”(hj)hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K&hj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjØubjÜ)”}”(hhh]”hÆ)”}”(hŒPUD”h]”hŒPUD”…””}”(hj@hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K&hj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjØubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jÑhjšubhŒtbody”“”)”}”(hhh]”(j×)”}”(hhh]”(jÜ)”}”(hhh]”hÆ)”}”(hŒ4K:”h]”hŒ4K:”…””}”(hjkhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K(hjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjeubjÜ)”}”(hhh]”hÆ)”}”(hŒ64K”h]”hŒ64K”…””}”(hj‚hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K(hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjeubjÜ)”}”(hhh]”hÆ)”}”(hŒ2M”h]”hŒ2M”…””}”(hj™hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K(hj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjeubjÜ)”}”(hhh]”hÆ)”}”(hŒ32M”h]”hŒ32M”…””}”(hj°hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K(hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjeubjÜ)”}”(hhh]”hÆ)”}”(hŒ1G”h]”hŒ1G”…””}”(hjÇhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K(hjÄubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjbubj×)”}”(hhh]”(jÜ)”}”(hhh]”hÆ)”}”(hŒ16K:”h]”hŒ16K:”…””}”(hjçhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K)hjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjáubjÜ)”}”(hhh]”hÆ)”}”(hŒ2M”h]”hŒ2M”…””}”(hjþhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K)hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjáubjÜ)”}”(hhh]”hÆ)”}”(hŒ32M”h]”hŒ32M”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K)hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjáubjÜ)”}”(hhh]”hÆ)”}”(hŒ1G”h]”hŒ1G”…””}”(hj,hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K)hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjáubjÜ)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjáubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjbubj×)”}”(hhh]”(jÜ)”}”(hhh]”hÆ)”}”(hŒ64K:”h]”hŒ64K:”…””}”(hjUhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K*hjRubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjOubjÜ)”}”(hhh]”hÆ)”}”(hŒ2M”h]”hŒ2M”…””}”(hjlhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K*hjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjOubjÜ)”}”(hhh]”hÆ)”}”(hŒ512M”h]”hŒ512M”…””}”(hjƒhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K*hj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjOubjÜ)”}”(hhh]”hÆ)”}”(hŒ16G”h]”hŒ16G”…””}”(hjšhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhŸh¯h K*hj—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjOubjÜ)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jÛhjOubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖhjbubeh}”(h]”h ]”h"]”h$]”h&]”uh1j`hjšubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1j˜hj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j“hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhŸh¯h K%hjThžhubeh}”(h]”Œusing-the-contiguous-bit”ah ]”h"]”Œ2) using the contiguous bit”ah$]”h&]”uh1h°hh²hžhhŸh¯h Kubeh}”(h]”(Œhugetlbpage-on-arm64”h®eh ]”h"]”(Œhugetlbpage on arm64”Œhugetlbpage_index”eh$]”h&]”uh1h°hhhžhhŸh¯h KŒexpect_referenced_by_name”}”jäh£sŒexpect_referenced_by_id”}”h®h£subeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h¯uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hµNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”jÛŒfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h¯Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”h®]”h£asŒnameids”}”(jäh®jãjàjQjNjÛjØuŒ nametypes”}”(jäˆjã‰jQ‰jÛ‰uh}”(h®h²jàh²jNj-jØjTuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)”}”(hhh]”hÆ)”}”(hhh]”hŒ7Hyperlink target "hugetlbpage-index" is not referenced.”…””}”hjwsbah}”(h]”h ]”h"]”h$]”h&]”uh1hÅhjtubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”h¯Œline”Kuh1jrubaŒ transformer”NŒ include_log”]”Œ decoration”Nhžhub.