€•\»Œ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”ŒA/translations/zh_CN/admin-guide/pm/intel_uncore_frequency_scaling”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒA/translations/zh_TW/admin-guide/pm/intel_uncore_frequency_scaling”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒA/translations/it_IT/admin-guide/pm/intel_uncore_frequency_scaling”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒA/translations/ja_JP/admin-guide/pm/intel_uncore_frequency_scaling”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒA/translations/ko_KR/admin-guide/pm/intel_uncore_frequency_scaling”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒA/translations/pt_BR/admin-guide/pm/intel_uncore_frequency_scaling”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒA/translations/sp_SP/admin-guide/pm/intel_uncore_frequency_scaling”Œ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³Œ[/var/lib/git/docbuild/linux/Documentation/admin-guide/pm/intel_uncore_frequency_scaling.rst”h´Kubh¶)�”}”(hŒ4This data file has been placed in the public domain.”h]”hŒ4This data file has been placed in the public domain.”…”�”}”hhÈsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1hµhhh²hh³Œo/srv/docbuild/lib/venvs/build-kernel-docs/lib64/python3.9/site-packages/docutils/parsers/rst/include/isonum.txt”h´Kubh¶)�”}”(hŒ¸Derived from the Unicode character mappings available from . Processed by unicode2rstsubs.py, part of Docutils: .”h]”hŒ¸Derived from the Unicode character mappings available from . Processed by unicode2rstsubs.py, part of Docutils: .”…”�”}”hh×sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1hµhhh²hh³hÖh´KubhŒsubstitution_definition”“”)�”}”(hŒ*.. |amp| unicode:: U+00026 .. AMPERSAND”h]”hŒ&”…”�”}”hhçsbah}”(h]”h ]”h"]”Œamp”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ+.. |apos| unicode:: U+00027 .. APOSTROPHE”h]”hŒ'”…”�”}”hhösbah}”(h]”h ]”h"]”Œapos”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ).. |ast| unicode:: U+0002A .. ASTERISK”h]”hŒ*”…”�”}”hjsbah}”(h]”h ]”h"]”Œast”ah$]”h&]”uh1håh³hÖh´K hhh²hubhæ)�”}”(hŒ+.. |brvbar| unicode:: U+000A6 .. BROKEN BAR”h]”hŒ¦”…”�”}”hjsbah}”(h]”h ]”h"]”Œbrvbar”ah$]”h&]”uh1håh³hÖh´K hhh²hubhæ)�”}”(hŒ0.. |bsol| unicode:: U+0005C .. REVERSE SOLIDUS”h]”hŒ\”…”�”}”hj#sbah}”(h]”h ]”h"]”Œbsol”ah$]”h&]”uh1håh³hÖh´K hhh²hubhæ)�”}”(hŒ*.. |cent| unicode:: U+000A2 .. CENT SIGN”h]”hŒ¢”…”�”}”hj2sbah}”(h]”h ]”h"]”Œcent”ah$]”h&]”uh1håh³hÖh´K hhh²hubhæ)�”}”(hŒ&.. |colon| unicode:: U+0003A .. COLON”h]”hŒ:”…”�”}”hjAsbah}”(h]”h ]”h"]”Œcolon”ah$]”h&]”uh1håh³hÖh´K hhh²hubhæ)�”}”(hŒ&.. |comma| unicode:: U+0002C .. COMMA”h]”hŒ,”…”�”}”hjPsbah}”(h]”h ]”h"]”Œcomma”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ... |commat| unicode:: U+00040 .. COMMERCIAL AT”h]”hŒ@”…”�”}”hj_sbah}”(h]”h ]”h"]”Œcommat”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ/.. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN”h]”hŒ©”…”�”}”hjnsbah}”(h]”h ]”h"]”Œcopy”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ... |curren| unicode:: U+000A4 .. CURRENCY SIGN”h]”hŒ¤”…”�”}”hj}sbah}”(h]”h ]”h"]”Œcurren”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ0.. |darr| unicode:: U+02193 .. DOWNWARDS ARROW”h]”hŒ↓”…”�”}”hjŒsbah}”(h]”h ]”h"]”Œdarr”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ,.. |deg| unicode:: U+000B0 .. DEGREE SIGN”h]”hŒ°”…”�”}”hj›sbah}”(h]”h ]”h"]”Œdeg”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ... |divide| unicode:: U+000F7 .. DIVISION SIGN”h]”hŒ÷”…”�”}”hjªsbah}”(h]”h ]”h"]”Œdivide”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ,.. |dollar| unicode:: U+00024 .. DOLLAR SIGN”h]”hŒ$”…”�”}”hj¹sbah}”(h]”h ]”h"]”Œdollar”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ,.. |equals| unicode:: U+0003D .. EQUALS SIGN”h]”hŒ=”…”�”}”hjÈsbah}”(h]”h ]”h"]”Œequals”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ1.. |excl| unicode:: U+00021 .. EXCLAMATION MARK”h]”hŒ!”…”�”}”hj×sbah}”(h]”h ]”h"]”Œexcl”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ9.. |frac12| unicode:: U+000BD .. VULGAR FRACTION ONE HALF”h]”hŒ½”…”�”}”hjæsbah}”(h]”h ]”h"]”Œfrac12”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ<.. |frac14| unicode:: U+000BC .. VULGAR FRACTION ONE QUARTER”h]”hŒ¼”…”�”}”hjõsbah}”(h]”h ]”h"]”Œfrac14”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ;.. |frac18| unicode:: U+0215B .. VULGAR FRACTION ONE EIGHTH”h]”hŒâ…›”…”�”}”hjsbah}”(h]”h ]”h"]”Œfrac18”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ?.. |frac34| unicode:: U+000BE .. VULGAR FRACTION THREE QUARTERS”h]”hŒ¾”…”�”}”hjsbah}”(h]”h ]”h"]”Œfrac34”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ>.. |frac38| unicode:: U+0215C .. VULGAR FRACTION THREE EIGHTHS”h]”hŒâ…œ”…”�”}”hj"sbah}”(h]”h ]”h"]”Œfrac38”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ=.. |frac58| unicode:: U+0215D .. VULGAR FRACTION FIVE EIGHTHS”h]”hŒâ…�”…”�”}”hj1sbah}”(h]”h ]”h"]”Œfrac58”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ>.. |frac78| unicode:: U+0215E .. VULGAR FRACTION SEVEN EIGHTHS”h]”hŒâ…ž”…”�”}”hj@sbah}”(h]”h ]”h"]”Œfrac78”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ2.. |gt| unicode:: U+0003E .. GREATER-THAN SIGN”h]”hŒ>”…”�”}”hjOsbah}”(h]”h ]”h"]”Œgt”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ9.. |half| unicode:: U+000BD .. VULGAR FRACTION ONE HALF”h]”hŒ½”…”�”}”hj^sbah}”(h]”h ]”h"]”Œhalf”ah$]”h&]”uh1håh³hÖh´K hhh²hubhæ)�”}”(hŒ/.. |horbar| unicode:: U+02015 .. HORIZONTAL BAR”h]”hŒ―”…”�”}”hjmsbah}”(h]”h ]”h"]”Œhorbar”ah$]”h&]”uh1håh³hÖh´K!hhh²hubhæ)�”}”(hŒ'.. |hyphen| unicode:: U+02010 .. HYPHEN”h]”hŒâ€�”…”�”}”hj|sbah}”(h]”h ]”h"]”Œhyphen”ah$]”h&]”uh1håh³hÖh´K"hhh²hubhæ)�”}”(hŒ:.. |iexcl| unicode:: U+000A1 .. INVERTED EXCLAMATION MARK”h]”hŒ¡”…”�”}”hj‹sbah}”(h]”h ]”h"]”Œiexcl”ah$]”h&]”uh1håh³hÖh´K#hhh²hubhæ)�”}”(hŒ7.. |iquest| unicode:: U+000BF .. INVERTED QUESTION MARK”h]”hŒ¿”…”�”}”hjšsbah}”(h]”h ]”h"]”Œiquest”ah$]”h&]”uh1håh³hÖh´K$hhh²hubhæ)�”}”(hŒJ.. |laquo| unicode:: U+000AB .. LEFT-POINTING DOUBLE ANGLE QUOTATION MARK”h]”hŒ«”…”�”}”hj©sbah}”(h]”h ]”h"]”Œlaquo”ah$]”h&]”uh1håh³hÖh´K%hhh²hubhæ)�”}”(hŒ0.. |larr| unicode:: U+02190 .. LEFTWARDS ARROW”h]”hŒâ†�”…”�”}”hj¸sbah}”(h]”h ]”h"]”Œlarr”ah$]”h&]”uh1håh³hÖh´K&hhh²hubhæ)�”}”(hŒ3.. |lcub| unicode:: U+0007B .. LEFT CURLY BRACKET”h]”hŒ{”…”�”}”hjÇsbah}”(h]”h ]”h"]”Œlcub”ah$]”h&]”uh1håh³hÖh´K'hhh²hubhæ)�”}”(hŒ;.. |ldquo| unicode:: U+0201C .. LEFT DOUBLE QUOTATION MARK”h]”hŒ“”…”�”}”hjÖsbah}”(h]”h ]”h"]”Œldquo”ah$]”h&]”uh1håh³hÖh´K(hhh²hubhæ)�”}”(hŒ).. |lowbar| unicode:: U+0005F .. LOW LINE”h]”hŒ_”…”�”}”hjåsbah}”(h]”h ]”h"]”Œlowbar”ah$]”h&]”uh1håh³hÖh´K)hhh²hubhæ)�”}”(hŒ1.. |lpar| unicode:: U+00028 .. LEFT PARENTHESIS”h]”hŒ(”…”�”}”hjôsbah}”(h]”h ]”h"]”Œlpar”ah$]”h&]”uh1håh³hÖh´K*hhh²hubhæ)�”}”(hŒ4.. |lsqb| unicode:: U+0005B .. LEFT SQUARE BRACKET”h]”hŒ[”…”�”}”hjsbah}”(h]”h ]”h"]”Œlsqb”ah$]”h&]”uh1håh³hÖh´K+hhh²hubhæ)�”}”(hŒ;.. |lsquo| unicode:: U+02018 .. LEFT SINGLE QUOTATION MARK”h]”hŒ‘”…”�”}”hjsbah}”(h]”h ]”h"]”Œlsquo”ah$]”h&]”uh1håh³hÖh´K,hhh²hubhæ)�”}”(hŒ/.. |lt| unicode:: U+0003C .. LESS-THAN SIGN”h]”hŒ<”…”�”}”hj!sbah}”(h]”h ]”h"]”Œlt”ah$]”h&]”uh1håh³hÖh´K-hhh²hubhæ)�”}”(hŒ+.. |micro| unicode:: U+000B5 .. MICRO SIGN”h]”hŒµ”…”�”}”hj0sbah}”(h]”h ]”h"]”Œmicro”ah$]”h&]”uh1håh³hÖh´K.hhh²hubhæ)�”}”(hŒ+.. |middot| unicode:: U+000B7 .. MIDDLE DOT”h]”hŒ·”…”�”}”hj?sbah}”(h]”h ]”h"]”Œmiddot”ah$]”h&]”uh1håh³hÖh´K/hhh²hubhæ)�”}”(hŒ/.. |nbsp| unicode:: U+000A0 .. NO-BREAK SPACE”h]”hŒ ”…”�”}”hjNsbah}”(h]”h ]”h"]”Œnbsp”ah$]”h&]”uh1håh³hÖh´K0hhh²hubhæ)�”}”(hŒ).. |not| unicode:: U+000AC .. NOT SIGN”h]”hŒ¬”…”�”}”hj]sbah}”(h]”h ]”h"]”Œnot”ah$]”h&]”uh1håh³hÖh´K1hhh²hubhæ)�”}”(hŒ,.. |num| unicode:: U+00023 .. NUMBER SIGN”h]”hŒ#”…”�”}”hjlsbah}”(h]”h ]”h"]”Œnum”ah$]”h&]”uh1håh³hÖh´K2hhh²hubhæ)�”}”(hŒ).. |ohm| unicode:: U+02126 .. OHM SIGN”h]”hŒΩ”…”�”}”hj{sbah}”(h]”h ]”h"]”Œohm”ah$]”h&]”uh1håh³hÖh´K3hhh²hubhæ)�”}”(hŒ;.. |ordf| unicode:: U+000AA .. FEMININE ORDINAL INDICATOR”h]”hŒª”…”�”}”hjŠsbah}”(h]”h ]”h"]”Œordf”ah$]”h&]”uh1håh³hÖh´K4hhh²hubhæ)�”}”(hŒ<.. |ordm| unicode:: U+000BA .. MASCULINE ORDINAL INDICATOR”h]”hŒº”…”�”}”hj™sbah}”(h]”h ]”h"]”Œordm”ah$]”h&]”uh1håh³hÖh´K5hhh²hubhæ)�”}”(hŒ-.. |para| unicode:: U+000B6 .. PILCROW SIGN”h]”hŒ¶”…”�”}”hj¨sbah}”(h]”h ]”h"]”Œpara”ah$]”h&]”uh1håh³hÖh´K6hhh²hubhæ)�”}”(hŒ-.. |percnt| unicode:: U+00025 .. PERCENT SIGN”h]”hŒ%”…”�”}”hj·sbah}”(h]”h ]”h"]”Œpercnt”ah$]”h&]”uh1håh³hÖh´K7hhh²hubhæ)�”}”(hŒ*.. |period| unicode:: U+0002E .. FULL STOP”h]”hŒ.”…”�”}”hjÆsbah}”(h]”h ]”h"]”Œperiod”ah$]”h&]”uh1håh³hÖh´K8hhh²hubhæ)�”}”(hŒ*.. |plus| unicode:: U+0002B .. PLUS SIGN”h]”hŒ+”…”�”}”hjÕsbah}”(h]”h ]”h"]”Œplus”ah$]”h&]”uh1håh³hÖh´K9hhh²hubhæ)�”}”(hŒ0.. |plusmn| unicode:: U+000B1 .. PLUS-MINUS SIGN”h]”hŒ±”…”�”}”hjäsbah}”(h]”h ]”h"]”Œplusmn”ah$]”h&]”uh1håh³hÖh´K:hhh²hubhæ)�”}”(hŒ+.. |pound| unicode:: U+000A3 .. POUND SIGN”h]”hŒ£”…”�”}”hjósbah}”(h]”h ]”h"]”Œpound”ah$]”h&]”uh1håh³hÖh´K;hhh²hubhæ)�”}”(hŒ... |quest| unicode:: U+0003F .. QUESTION MARK”h]”hŒ?”…”�”}”hjsbah}”(h]”h ]”h"]”Œquest”ah$]”h&]”uh1håh³hÖh´Khhh²hubhæ)�”}”(hŒ1.. |rarr| unicode:: U+02192 .. RIGHTWARDS ARROW”h]”hŒ→”…”�”}”hj/sbah}”(h]”h ]”h"]”Œrarr”ah$]”h&]”uh1håh³hÖh´K?hhh²hubhæ)�”}”(hŒ4.. |rcub| unicode:: U+0007D .. RIGHT CURLY BRACKET”h]”hŒ}”…”�”}”hj>sbah}”(h]”h ]”h"]”Œrcub”ah$]”h&]”uh1håh³hÖh´K@hhh²hubhæ)�”}”(hŒ<.. |rdquo| unicode:: U+0201D .. RIGHT DOUBLE QUOTATION MARK”h]”hŒâ€�”…”�”}”hjMsbah}”(h]”h ]”h"]”Œrdquo”ah$]”h&]”uh1håh³hÖh´KAhhh²hubhæ)�”}”(hŒ0.. |reg| unicode:: U+000AE .. REGISTERED SIGN”h]”hŒ®”…”�”}”hj\sbah}”(h]”h ]”h"]”Œreg”ah$]”h&]”uh1håh³hÖh´KBhhh²hubhæ)�”}”(hŒ2.. |rpar| unicode:: U+00029 .. RIGHT PARENTHESIS”h]”hŒ)”…”�”}”hjksbah}”(h]”h ]”h"]”Œrpar”ah$]”h&]”uh1håh³hÖh´KChhh²hubhæ)�”}”(hŒ5.. |rsqb| unicode:: U+0005D .. RIGHT SQUARE BRACKET”h]”hŒ]”…”�”}”hjzsbah}”(h]”h ]”h"]”Œrsqb”ah$]”h&]”uh1håh³hÖh´KDhhh²hubhæ)�”}”(hŒ<.. |rsquo| unicode:: U+02019 .. RIGHT SINGLE QUOTATION MARK”h]”hŒ’”…”�”}”hj‰sbah}”(h]”h ]”h"]”Œrsquo”ah$]”h&]”uh1håh³hÖh´KEhhh²hubhæ)�”}”(hŒ-.. |sect| unicode:: U+000A7 .. SECTION SIGN”h]”hŒ§”…”�”}”hj˜sbah}”(h]”h ]”h"]”Œsect”ah$]”h&]”uh1håh³hÖh´KFhhh²hubhæ)�”}”(hŒ*.. |semi| unicode:: U+0003B .. SEMICOLON”h]”hŒ;”…”�”}”hj§sbah}”(h]”h ]”h"]”Œsemi”ah$]”h&]”uh1håh³hÖh´KGhhh²hubhæ)�”}”(hŒ,.. |shy| unicode:: U+000AD .. SOFT HYPHEN”h]”hŒ­”…”�”}”hj¶sbah}”(h]”h ]”h"]”Œshy”ah$]”h&]”uh1håh³hÖh´KHhhh²hubhæ)�”}”(hŒ(.. |sol| unicode:: U+0002F .. SOLIDUS”h]”hŒ/”…”�”}”hjÅsbah}”(h]”h ]”h"]”Œsol”ah$]”h&]”uh1håh³hÖh´KIhhh²hubhæ)�”}”(hŒ,.. |sung| unicode:: U+0266A .. EIGHTH NOTE”h]”hŒ♪”…”�”}”hjÔsbah}”(h]”h ]”h"]”Œsung”ah$]”h&]”uh1håh³hÖh´KJhhh²hubhæ)�”}”(hŒ0.. |sup1| unicode:: U+000B9 .. SUPERSCRIPT ONE”h]”hŒ¹”…”�”}”hjãsbah}”(h]”h ]”h"]”Œsup1”ah$]”h&]”uh1håh³hÖh´KKhhh²hubhæ)�”}”(hŒ0.. |sup2| unicode:: U+000B2 .. SUPERSCRIPT TWO”h]”hŒ²”…”�”}”hjòsbah}”(h]”h ]”h"]”Œsup2”ah$]”h&]”uh1håh³hÖh´KLhhh²hubhæ)�”}”(hŒ2.. |sup3| unicode:: U+000B3 .. SUPERSCRIPT THREE”h]”hŒ³”…”�”}”hjsbah}”(h]”h ]”h"]”Œsup3”ah$]”h&]”uh1håh³hÖh´KMhhh²hubhæ)�”}”(hŒ4.. |times| unicode:: U+000D7 .. MULTIPLICATION SIGN”h]”hŒ×”…”�”}”hjsbah}”(h]”h ]”h"]”Œtimes”ah$]”h&]”uh1håh³hÖh´KNhhh²hubhæ)�”}”(hŒ0.. |trade| unicode:: U+02122 .. TRADE MARK SIGN”h]”hŒâ„¢”…”�”}”hjsbah}”(h]”h ]”h"]”Œtrade”ah$]”h&]”uh1håh³hÖh´KOhhh²hubhæ)�”}”(hŒ... |uarr| unicode:: U+02191 .. UPWARDS ARROW”h]”hŒ↑”…”�”}”hj.sbah}”(h]”h ]”h"]”Œuarr”ah$]”h&]”uh1håh³hÖh´KPhhh²hubhæ)�”}”(hŒ... |verbar| unicode:: U+0007C .. VERTICAL LINE”h]”hŒ|”…”�”}”hj=sbah}”(h]”h ]”h"]”Œverbar”ah$]”h&]”uh1håh³hÖh´KQhhh²hubhæ)�”}”(hŒ*.. |yen| unicode:: U+000A5 .. YEN SIGN ”h]”hŒÂ¥”…”�”}”hjLsbah}”(h]”h ]”h"]”Œyen”ah$]”h&]”uh1håh³hÖh´KRhhh²hubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒIntel Uncore Frequency Scaling”h]”hŒIntel Uncore Frequency Scaling”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j`hj]h²hh³hÇh´KubhŒ field_list”“”)�”}”(hhh]”(hŒfield”“”)�”}”(hhh]”(hŒ field_name”“”)�”}”(hŒ Copyright”h]”hŒ Copyright”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhjwh³hÇh´KubhŒ field_body”“”)�”}”(hŒ#|copy| 2022-2023 Intel Corporation ”h]”hŒ paragraph”“”)�”}”(hŒ"|copy| 2022-2023 Intel Corporation”h]”(hŒ©”…”�”}”(hj’h²hh³Nh´NubhŒ 2022-2023 Intel Corporation”…”�”}”(hj’h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KhjŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjwubeh}”(h]”h ]”h"]”h$]”h&]”uh1juh³hÇh´Khjrh²hubjv)�”}”(hhh]”(j{)�”}”(hŒAuthor”h]”hŒAuthor”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jzhj°h³hÇh´Kubj‹)�”}”(hŒ:Srinivas Pandruvada ”h]”j‘)�”}”(hŒ9Srinivas Pandruvada ”h]”(hŒSrinivas Pandruvada <”…”�”}”(hjÅh²hh³Nh´NubhŒ reference”“”)�”}”(hŒ#srinivas.pandruvada@linux.intel.com”h]”hŒ#srinivas.pandruvada@linux.intel.com”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ*mailto:srinivas.pandruvada@linux.intel.com”uh1jÍhjÅubhŒ>”…”�”}”(hjÅh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K hjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1juh³hÇh´K hjrh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jphj]h²hh³hÇh´Kubj\)�”}”(hhh]”(ja)�”}”(hŒ Introduction”h]”hŒ Introduction”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j`hjûh²hh³hÇh´K ubj‘)�”}”(hX;The uncore can consume significant amount of power in Intel's Xeon servers based on the workload characteristics. To optimize the total power and improve overall performance, SoCs have internal algorithms for scaling uncore frequency. These algorithms monitor workload usage of uncore and set a desirable frequency.”h]”hX=The uncore can consume significant amount of power in Intel’s Xeon servers based on the workload characteristics. To optimize the total power and improve overall performance, SoCs have internal algorithms for scaling uncore frequency. These algorithms monitor workload usage of uncore and set a desirable frequency.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Khjûh²hubj‘)�”}”(hX6It is possible that users have different expectations of uncore performance and want to have control over it. The objective is similar to allowing users to set the scaling min/max frequencies via cpufreq sysfs to improve CPU performance. Users may have some latency sensitive workloads where they do not want any change to uncore frequency. Also, users may have workloads which require different core and uncore performance at distinct phases and they may want to use both cpufreq and the uncore scaling interface to distribute power and improve overall performance.”h]”hX6It is possible that users have different expectations of uncore performance and want to have control over it. The objective is similar to allowing users to set the scaling min/max frequencies via cpufreq sysfs to improve CPU performance. Users may have some latency sensitive workloads where they do not want any change to uncore frequency. Also, users may have workloads which require different core and uncore performance at distinct phases and they may want to use both cpufreq and the uncore scaling interface to distribute power and improve overall performance.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Khjûh²hubeh}”(h]”Œ introduction”ah ]”h"]”Œ introduction”ah$]”h&]”uh1j[hj]h²hh³hÇh´K ubj\)�”}”(hhh]”(ja)�”}”(hŒSysfs Interface”h]”hŒSysfs Interface”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j`hj0h²hh³hÇh´Kubj‘)�”}”(hŒTo control uncore frequency, a sysfs interface is provided in the directory: `/sys/devices/system/cpu/intel_uncore_frequency/`.”h]”(hŒMTo control uncore frequency, a sysfs interface is provided in the directory: ”…”�”}”(hjAh²hh³Nh´NubhŒtitle_reference”“”)�”}”(hŒ1`/sys/devices/system/cpu/intel_uncore_frequency/`”h]”hŒ//sys/devices/system/cpu/intel_uncore_frequency/”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jIhjAubhŒ.”…”�”}”(hjAh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K hj0h²hubj‘)�”}”(hX$There is one directory for each package and die combination as the scope of uncore scaling control is per die in multiple die/package SoCs or per package for single die per package SoCs. The name represents the scope of control. For example: 'package_00_die_00' is for package id 0 and die 0.”h]”hX(There is one directory for each package and die combination as the scope of uncore scaling control is per die in multiple die/package SoCs or per package for single die per package SoCs. The name represents the scope of control. For example: ‘package_00_die_00’ is for package id 0 and die 0.”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K#hj0h²hubj‘)�”}”(hŒ7Each package_*_die_* contains the following attributes:”h]”hŒ7Each package_*_die_* contains the following attributes:”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K)hj0h²hubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒå``initial_max_freq_khz`` Out of reset, this attribute represent the maximum possible frequency. This is a read-only attribute. If users adjust max_freq_khz, they can always go back to maximum using the value from this attribute. ”h]”(hŒterm”“”)�”}”(hŒ``initial_max_freq_khz``”h]”hŒliteral”“”)�”}”(hjŽh]”hŒinitial_max_freq_khz”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´K.hj†ubhŒ definition”“”)�”}”(hhh]”j‘)�”}”(hŒËOut of reset, this attribute represent the maximum possible frequency. This is a read-only attribute. If users adjust max_freq_khz, they can always go back to maximum using the value from this attribute.”h]”hŒËOut of reset, this attribute represent the maximum possible frequency. This is a read-only attribute. If users adjust max_freq_khz, they can always go back to maximum using the value from this attribute.”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K,hj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥hj†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´K.hj�ubj…)�”}”(hŒå``initial_min_freq_khz`` Out of reset, this attribute represent the minimum possible frequency. This is a read-only attribute. If users adjust min_freq_khz, they can always go back to minimum using the value from this attribute. ”h]”(j‹)�”}”(hŒ``initial_min_freq_khz``”h]”j‘)�”}”(hjÊh]”hŒinitial_min_freq_khz”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´K3hjÄubj¦)�”}”(hhh]”j‘)�”}”(hŒËOut of reset, this attribute represent the minimum possible frequency. This is a read-only attribute. If users adjust min_freq_khz, they can always go back to minimum using the value from this attribute.”h]”hŒËOut of reset, this attribute represent the minimum possible frequency. This is a read-only attribute. If users adjust min_freq_khz, they can always go back to minimum using the value from this attribute.”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K1hjßubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥hjÄubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´K3hj�h²hubj…)�”}”(hŒM``max_freq_khz`` This attribute is used to set the maximum uncore frequency. ”h]”(j‹)�”}”(hŒ``max_freq_khz``”h]”j‘)�”}”(hjh]”hŒ max_freq_khz”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´K6hjüubj¦)�”}”(hhh]”j‘)�”}”(hŒ;This attribute is used to set the maximum uncore frequency.”h]”hŒ;This attribute is used to set the maximum uncore frequency.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K6hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥hjüubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´K6hj�h²hubj…)�”}”(hŒM``min_freq_khz`` This attribute is used to set the minimum uncore frequency. ”h]”(j‹)�”}”(hŒ``min_freq_khz``”h]”j‘)�”}”(hj:h]”hŒ min_freq_khz”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´K9hj4ubj¦)�”}”(hhh]”j‘)�”}”(hŒ;This attribute is used to set the minimum uncore frequency.”h]”hŒ;This attribute is used to set the minimum uncore frequency.”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K9hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥hj4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´K9hj�h²hubj…)�”}”(hŒQ``current_freq_khz`` This attribute is used to get the current uncore frequency. ”h]”(j‹)�”}”(hŒ``current_freq_khz``”h]”j‘)�”}”(hjrh]”hŒcurrent_freq_khz”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´KThis attribute is used to get the package id of this instance.”h]”hŒ>This attribute is used to get the package id of this instance.”…”�”}”(hj& h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Knhj# ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´Knhj%h²hubj…)�”}”(hŒÒ``agent_types`` This attribute displays all the hardware agents present within the domain. Each agent has the capability to control one or more hardware subsystems, which include: core, cache, memory, and I/O. ”h]”(j‹)�”}”(hŒ``agent_types``”h]”j‘)�”}”(hjF h]”hŒ agent_types”…”�”}”(hjH h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjD ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´Kshj@ ubj¦)�”}”(hhh]”j‘)�”}”(hŒÁThis attribute displays all the hardware agents present within the domain. Each agent has the capability to control one or more hardware subsystems, which include: core, cache, memory, and I/O.”h]”hŒÁThis attribute displays all the hardware agents present within the domain. Each agent has the capability to control one or more hardware subsystems, which include: core, cache, memory, and I/O.”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kqhj[ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥hj@ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´Kshj%h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj²h²hh³hÇh´Nubj‘)�”}”(hŒDThe other attributes are same as presented at package_*_die_* level.”h]”hŒDThe other attributes are same as presented at package_*_die_* level.”…”�”}”(hj~ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kuhj²h²hubj‘)�”}”(hŒªIn most of current use cases, the "max_freq_khz" and "min_freq_khz" is updated at "package_*_die_*" level. This model will be still supported with the following approach:”h]”hŒ¶In most of current use cases, the “max_freq_khzâ€� and “min_freq_khzâ€� is updated at “package_*_die_*â€� level. This model will be still supported with the following approach:”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kwhj²h²hubj‘)�”}”(hXÒWhen user uses controls at "package_*_die_*" level, then every fabric cluster is affected in that package and die. For example: user changes "max_freq_khz" in the package_00_die_00, then "max_freq_khz" for uncore* directory with the same package id will be updated. In this case user can still update "max_freq_khz" at each uncore* level, which is more restrictive. Similarly, user can update "min_freq_khz" at "package_*_die_*" level to apply at each uncore* level.”h]”hXêWhen user uses controls at “package_*_die_*â€� level, then every fabric cluster is affected in that package and die. For example: user changes “max_freq_khzâ€� in the package_00_die_00, then “max_freq_khzâ€� for uncore* directory with the same package id will be updated. In this case user can still update “max_freq_khzâ€� at each uncore* level, which is more restrictive. Similarly, user can update “min_freq_khzâ€� at “package_*_die_*â€� level to apply at each uncore* level.”…”�”}”(hjš h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K{hj²h²hubj‘)�”}”(hŒkSupport for "current_freq_khz" is available only at each fabric cluster level (i.e., in uncore* directory).”h]”hŒoSupport for “current_freq_khzâ€� is available only at each fabric cluster level (i.e., in uncore* directory).”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kƒhj²h²hubeh}”(h]”Œ?socs-with-tpmi-topology-aware-register-and-pm-capsule-interface”ah ]”h"]”ŒAsocs with tpmi (topology aware register and pm capsule interface)”ah$]”h&]”uh1j[hj]h²hh³hÇh´K?ubj\)�”}”(hhh]”(ja)�”}”(hŒEfficiency vs. Latency Tradeoff”h]”hŒEfficiency vs. Latency Tradeoff”…”�”}”(hjÁ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j`hj¾ h²hh³hÇh´K‡ubj‘)�”}”(hXThe Efficiency Latency Control (ELC) feature improves performance per watt. With this feature hardware power management algorithms optimize trade-off between latency and power consumption. For some latency sensitive workloads further tuning can be done by SW to get desired performance.”h]”hXThe Efficiency Latency Control (ELC) feature improves performance per watt. With this feature hardware power management algorithms optimize trade-off between latency and power consumption. For some latency sensitive workloads further tuning can be done by SW to get desired performance.”…”�”}”(hjÏ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K‰hj¾ h²hubj‘)�”}”(hXòThe hardware monitors the average CPU utilization across all cores in a power domain at regular intervals and decides an uncore frequency. While this may result in the best performance per watt, workload may be expecting higher performance at the expense of power. Consider an application that intermittently wakes up to perform memory reads on an otherwise idle system. In such cases, if hardware lowers uncore frequency, then there may be delay in ramp up of frequency to meet target performance.”h]”hXòThe hardware monitors the average CPU utilization across all cores in a power domain at regular intervals and decides an uncore frequency. While this may result in the best performance per watt, workload may be expecting higher performance at the expense of power. Consider an application that intermittently wakes up to perform memory reads on an otherwise idle system. In such cases, if hardware lowers uncore frequency, then there may be delay in ramp up of frequency to meet target performance.”…”�”}”(hjÝ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K�hj¾ h²hubj‘)�”}”(hX5The ELC control defines some parameters which can be changed from SW. If the average CPU utilization is below a user-defined threshold (elc_low_threshold_percent attribute below), the user-defined uncore floor frequency will be used (elc_floor_freq_khz attribute below) instead of hardware calculated minimum.”h]”hX5The ELC control defines some parameters which can be changed from SW. If the average CPU utilization is below a user-defined threshold (elc_low_threshold_percent attribute below), the user-defined uncore floor frequency will be used (elc_floor_freq_khz attribute below) instead of hardware calculated minimum.”…”�”}”(hjë h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K˜hj¾ h²hubj‘)�”}”(hX:Similarly in high load scenario where the CPU utilization goes above the high threshold value (elc_high_threshold_percent attribute below) instead of jumping to maximum uncore frequency, frequency is increased in 100MHz steps. This avoids consuming unnecessarily high power immediately with CPU utilization spikes.”h]”hX:Similarly in high load scenario where the CPU utilization goes above the high threshold value (elc_high_threshold_percent attribute below) instead of jumping to maximum uncore frequency, frequency is increased in 100MHz steps. This avoids consuming unnecessarily high power immediately with CPU utilization spikes.”…”�”}”(hjù h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kžhj¾ h²hubj‘)�”}”(hŒ*Attributes for efficiency latency control:”h]”hŒ*Attributes for efficiency latency control:”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K¤hj¾ h²hubj€)�”}”(hhh]”(j…)�”}”(hŒ³``elc_floor_freq_khz`` This attribute is used to get/set the efficiency latency floor frequency. If this variable is lower than the 'min_freq_khz', it is ignored by the firmware. ”h]”(j‹)�”}”(hŒ``elc_floor_freq_khz``”h]”j‘)�”}”(hj h]”hŒelc_floor_freq_khz”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´K©hj ubj¦)�”}”(hhh]”j‘)�”}”(hŒ›This attribute is used to get/set the efficiency latency floor frequency. If this variable is lower than the 'min_freq_khz', it is ignored by the firmware.”h]”hŒŸThis attribute is used to get/set the efficiency latency floor frequency. If this variable is lower than the ‘min_freq_khz’, it is ignored by the firmware.”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K§hj3 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´K©hj ubj…)�”}”(hŒ£``elc_low_threshold_percent`` This attribute is used to get/set the efficiency latency control low threshold. This attribute is in percentages of CPU utilization. ”h]”(j‹)�”}”(hŒ``elc_low_threshold_percent``”h]”j‘)�”}”(hjV h]”hŒelc_low_threshold_percent”…”�”}”(hjX h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjT ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´K­hjP ubj¦)�”}”(hhh]”j‘)�”}”(hŒ„This attribute is used to get/set the efficiency latency control low threshold. This attribute is in percentages of CPU utilization.”h]”hŒ„This attribute is used to get/set the efficiency latency control low threshold. This attribute is in percentages of CPU utilization.”…”�”}”(hjn h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K¬hjk ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥hjP ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´K­hj h²hubj…)�”}”(hŒ¥``elc_high_threshold_percent`` This attribute is used to get/set the efficiency latency control high threshold. This attribute is in percentages of CPU utilization. ”h]”(j‹)�”}”(hŒ``elc_high_threshold_percent``”h]”j‘)�”}”(hjŽ h]”hŒelc_high_threshold_percent”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjŒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´K±hjˆ ubj¦)�”}”(hhh]”j‘)�”}”(hŒ…This attribute is used to get/set the efficiency latency control high threshold. This attribute is in percentages of CPU utilization.”h]”hŒ…This attribute is used to get/set the efficiency latency control high threshold. This attribute is in percentages of CPU utilization.”…”�”}”(hj¦ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K°hj£ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥hjˆ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´K±hj h²hubj…)�”}”(hŒ›``elc_high_threshold_enable`` This attribute is used to enable/disable the efficiency latency control high threshold. Write '1' to enable, '0' to disable. ”h]”(j‹)�”}”(hŒ``elc_high_threshold_enable``”h]”j‘)�”}”(hjÆ h]”hŒelc_high_threshold_enable”…”�”}”(hjÈ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjÄ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´KµhjÀ ubj¦)�”}”(hhh]”j‘)�”}”(hŒ|This attribute is used to enable/disable the efficiency latency control high threshold. Write '1' to enable, '0' to disable.”h]”hŒ„This attribute is used to enable/disable the efficiency latency control high threshold. Write ‘1’ to enable, ‘0’ to disable.”…”�”}”(hjÞ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K´hjÛ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¥hjÀ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´Kµhj h²hubj…)�”}”(hXjExample system configuration below, which does following: * when CPU utilization is less than 10%: sets uncore frequency to 800MHz * when CPU utilization is higher than 95%: increases uncore frequency in 100MHz steps, until power limit is reached elc_floor_freq_khz:800000 elc_high_threshold_percent:95 elc_high_threshold_enable:1 elc_low_threshold_percent:10”h]”(j‹)�”}”(hŒ9Example system configuration below, which does following:”h]”hŒ9Example system configuration below, which does following:”…”�”}”(hjü h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠh³hÇh´K¾hjø ubj¦)�”}”(hhh]”(hŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒFwhen CPU utilization is less than 10%: sets uncore frequency to 800MHz”h]”j‘)�”}”(hj h]”hŒFwhen CPU utilization is less than 10%: sets uncore frequency to 800MHz”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K¸hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj ubj )�”}”(hŒrwhen CPU utilization is higher than 95%: increases uncore frequency in 100MHz steps, until power limit is reached ”h]”j‘)�”}”(hŒqwhen CPU utilization is higher than 95%: increases uncore frequency in 100MHz steps, until power limit is reached”h]”hŒqwhen CPU utilization is higher than 95%: increases uncore frequency in 100MHz steps, until power limit is reached”…”�”}”(hj/ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K¹hj+ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1j h³hÇh´K¸hj ubj‘)�”}”(hŒpelc_floor_freq_khz:800000 elc_high_threshold_percent:95 elc_high_threshold_enable:1 elc_low_threshold_percent:10”h]”hŒpelc_floor_freq_khz:800000 elc_high_threshold_percent:95 elc_high_threshold_enable:1 elc_low_threshold_percent:10”…”�”}”(hjK h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K¼hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j¥hjø ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j„h³hÇh´K¾hj h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj¾ h²hh³hÇh´Nubeh}”(h]”Œefficiency-vs-latency-tradeoff”ah ]”h"]”Œefficiency vs. latency tradeoff”ah$]”h&]”uh1j[hj]h²hh³hÇh´K‡ubeh}”(h]”Œintel-uncore-frequency-scaling”ah ]”h"]”Œintel uncore frequency scaling”ah$]”h&]”uh1j[hhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(j`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”}”(hóhçjhöjjj jj/j#j>j2jMjAj\jPjkj_jzjnj‰j}j˜jŒj§j›j¶jªjÅj¹jÔjÈjãj×jòjæjjõjjjjj.j"j=j1jLj@j[jOjjj^jyjmjˆj|j—j‹j¦jšjµj©jÄj¸jÓjÇjâjÖjñjåjjôjjjjj-j!j<j0jKj?jZjNjij]jxjlj‡j{j–jŠj¥j™j´j¨jÃj·jÒjÆjájÕjðjäjÿjójjjjj,j j;j/jJj>jYjMjhj\jwjkj†jzj•j‰j¤j˜j³j§jÂj¶jÑjÅjàjÔjïjãjþjòj jjjj+jj:j.jIj=jXjLuŒsubstitution_names”}”(Œamp”hóŒapos”jŒast”jŒbrvbar”j Œbsol”j/Œcent”j>Œcolon”jMŒcomma”j\Œcommat”jkŒcopy”jzŒcurren”j‰Œdarr”j˜Œdeg”j§Œdivide”j¶Œdollar”jÅŒequals”jÔŒexcl”jãŒfrac12”jòŒfrac14”jŒfrac18”jŒfrac34”jŒfrac38”j.Œfrac58”j=Œfrac78”jLŒgt”j[Œhalf”jjŒhorbar”jyŒhyphen”jˆŒiexcl”j—Œiquest”j¦Œlaquo”jµŒlarr”jÄŒlcub”jÓŒldquo”jâŒlowbar”jñŒlpar”jŒlsqb”jŒlsquo”jŒlt”j-Œmicro”j<Œmiddot”jKŒnbsp”jZŒnot”jiŒnum”jxŒohm”j‡Œordf”j–Œordm”j¥Œpara”j´Œpercnt”jÃŒperiod”jÒŒplus”jáŒplusmn”jðŒpound”jÿŒquest”jŒquot”jŒraquo”j,Œrarr”j;Œrcub”jJŒrdquo”jYŒreg”jhŒrpar”jwŒrsqb”j†Œrsquo”j•Œsect”j¤Œsemi”j³Œshy”jÂŒsol”jÑŒsung”jàŒsup1”jïŒsup2”jþŒsup3”j Œtimes”jŒtrade”j+Œuarr”j:Œverbar”jIŒyen”jXuŒrefnames”}”Œrefids”}”Œnameids”}”(jx ju j-j*j¯j¬j» j¸ jp jm uŒ nametypes”}”(jx ‰j-‰j¯‰j» ‰jp ‰uh}”(ju j]j*jûj¬j0j¸ j²jm j¾ uŒ 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”]”Œ?Documentation/admin-guide/pm/intel_uncore_frequency_scaling.rst”(NNNNt”†”aŒ decoration”Nh²hub.