€•Ê-Œ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”Œ5/translations/zh_CN/driver-api/cxl/platform/acpi/srat”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/zh_TW/driver-api/cxl/platform/acpi/srat”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/it_IT/driver-api/cxl/platform/acpi/srat”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/ja_JP/driver-api/cxl/platform/acpi/srat”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/ko_KR/driver-api/cxl/platform/acpi/srat”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ5/translations/sp_SP/driver-api/cxl/platform/acpi/srat”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒO/var/lib/git/docbuild/linux/Documentation/driver-api/cxl/platform/acpi/srat.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ%SRAT - Static Resource Affinity Table”h]”hŒ%SRAT - Static Resource Affinity Table”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h KubhŒ paragraph”“”)”}”(hŒêThe System/Static Resource Affinity Table describes resource (CPU, Memory) affinity to "Proximity Domains". This table is technically optional, but for performance information (see "HMAT") to be enumerated by linux it must be present.”h]”hŒòThe System/Static Resource Affinity Table describes resource (CPU, Memory) affinity to “Proximity Domainsâ€. This table is technically optional, but for performance information (see “HMATâ€) to be enumerated by linux it must be present.”…””}”(hhËhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhÊ)”}”(hXThere is a careful dance between the CEDT and SRAT tables and how NUMA nodes are created. If things don't look quite the way you expect - check the SRAT Memory Affinity entries and CEDT CFMWS to determine what your platform actually supports in terms of flexible topologies.”h]”hXThere is a careful dance between the CEDT and SRAT tables and how NUMA nodes are created. If things don’t look quite the way you expect - check the SRAT Memory Affinity entries and CEDT CFMWS to determine what your platform actually supports in terms of flexible topologies.”…””}”(hhÙhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hh¶hžhubhÊ)”}”(hŒ¹The SRAT may statically assign portions of a CFMWS SPA range to a specific proximity domains. See linux numa creation for more information about how this presents in the NUMA topology.”h]”hŒ¹The SRAT may statically assign portions of a CFMWS SPA range to a specific proximity domains. See linux numa creation for more information about how this presents in the NUMA topology.”…””}”(hhçhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhµ)”}”(hhh]”(hº)”}”(hŒProximity Domain”h]”hŒProximity Domain”…””}”(hhøhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hhõhžhhŸh³h KubhÊ)”}”(hŒ×A proximity domain is ROUGHLY equivalent to "NUMA Node" - though a 1-to-1 mapping is not guaranteed. There are scenarios where "Proximity Domain 4" may map to "NUMA Node 3", for example. (See "NUMA Node Creation")”h]”hŒçA proximity domain is ROUGHLY equivalent to “NUMA Node†- though a 1-to-1 mapping is not guaranteed. There are scenarios where “Proximity Domain 4†may map to “NUMA Node 3â€, for example. (See “NUMA Node Creationâ€)”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khhõhžhubeh}”(h]”Œproximity-domain”ah ]”h"]”Œproximity domain”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒMemory Affinity”h]”hŒMemory Affinity”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjhžhhŸh³h KubhÊ)”}”(hŒŽGenerally speaking, if a host does any amount of CXL fabric (decoder) programming in BIOS - an SRAT entry for that memory needs to be present.”h]”hŒŽGenerally speaking, if a host does any amount of CXL fabric (decoder) programming in BIOS - an SRAT entry for that memory needs to be present.”…””}”(hj-hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KhjhžhubhÊ)”}”(hŒ Example ::”h]”hŒExample”…””}”(hj;hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hjhžhubhŒ literal_block”“”)”}”(hX— Subtable Type : 01 [Memory Affinity] Length : 28 Proximity Domain : 00000001 <- NUMA Node 1 Reserved1 : 0000 Base Address : 000000C050000000 <- Physical Memory Region Address Length : 0000003CA0000000 Reserved2 : 00000000 Flags (decoded below) : 0000000B Enabled : 1 Hot Pluggable : 1 Non-Volatile : 0”h]”hX— Subtable Type : 01 [Memory Affinity] Length : 28 Proximity Domain : 00000001 <- NUMA Node 1 Reserved1 : 0000 Base Address : 000000C050000000 <- Physical Memory Region Address Length : 0000003CA0000000 Reserved2 : 00000000 Flags (decoded below) : 0000000B Enabled : 1 Hot Pluggable : 1 Non-Volatile : 0”…””}”hjKsbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1jIhŸh³h K"hjhžhubeh}”(h]”Œmemory-affinity”ah ]”h"]”Œmemory affinity”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒGeneric Port Affinity”h]”hŒGeneric Port Affinity”…””}”(hjdhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjahžhhŸh³h K0ubhÊ)”}”(hX¸The Generic Port Affinity subtable provides an association between a proximity domain and a device handle representing a Generic Port such as a CXL host bridge. With the association, latency and bandwidth numbers can be retrieved from the SRAT for the path between CPU(s) (initiator) and the Generic Port. This is used to construct performance coordinates for hotplugged CXL DEVICES, which cannot be enumerated at boot by platform firmware.”h]”hX¸The Generic Port Affinity subtable provides an association between a proximity domain and a device handle representing a Generic Port such as a CXL host bridge. With the association, latency and bandwidth numbers can be retrieved from the SRAT for the path between CPU(s) (initiator) and the Generic Port. This is used to construct performance coordinates for hotplugged CXL DEVICES, which cannot be enumerated at boot by platform firmware.”…””}”(hjrhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K1hjahžhubhÊ)”}”(hŒ Example ::”h]”hŒExample”…””}”(hj€hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K8hjahžhubjJ)”}”(hXV Subtable Type : 06 [Generic Port Affinity] Length : 20 <- 32d, length of table Reserved : 00 Device Handle Type : 00 <- 0 - ACPI, 1 - PCI Proximity Domain : 00000001 Device Handle : ACPI0016:01 Flags : 00000001 <- Bit 0 (Enabled) Reserved : 00000000”h]”hXV Subtable Type : 06 [Generic Port Affinity] Length : 20 <- 32d, length of table Reserved : 00 Device Handle Type : 00 <- 0 - ACPI, 1 - PCI Proximity Domain : 00000001 Device Handle : ACPI0016:01 Flags : 00000001 <- Bit 0 (Enabled) Reserved : 00000000”…””}”hjŽsbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1jIhŸh³h K:hjahžhubhÊ)”}”(hXdThe Proximity Domain is matched up to the :doc:`HMAT ` SSLBI Target Proximity Domain List for the related latency or bandwidth numbers. Those performance numbers are tied to a CXL host bridge via the Device Handle. The driver uses the association to retrieve the Generic Port performance numbers for the whole CXL path access coordinates calculation.”h]”(hŒ*The Proximity Domain is matched up to the ”…””}”(hjœhžhhŸNh Nubh)”}”(hŒ:doc:`HMAT `”h]”hŒinline”“”)”}”(hj¦h]”hŒHMAT”…””}”(hjªhžhhŸNh Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-doc”eh"]”h$]”h&]”uh1j¨hj¤ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ!driver-api/cxl/platform/acpi/srat”Œ refdomain”jµŒreftype”Œdoc”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œhmat”uh1hhŸh³h KChjœubhX( SSLBI Target Proximity Domain List for the related latency or bandwidth numbers. Those performance numbers are tied to a CXL host bridge via the Device Handle. The driver uses the association to retrieve the Generic Port performance numbers for the whole CXL path access coordinates calculation.”…””}”(hjœhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KChjahžhubeh}”(h]”Œgeneric-port-affinity”ah ]”h"]”Œgeneric port affinity”ah$]”h&]”uh1h´hh¶hžhhŸh³h K0ubeh}”(h]”Œ#srat-static-resource-affinity-table”ah ]”h"]”Œ%srat - static resource affinity table”ah$]”h&]”uh1h´hhhžhhŸh³h Kubeh}”(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”Œentry”Œ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”}”Œnameids”}”(jàjÝjjj^j[jØjÕuŒ nametypes”}”(jà‰j‰j^‰j؉uh}”(jÝh¶jhõj[jjÕjauŒ 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”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.