€•Œ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/admin-guide/pm/sleep-states”Œ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/admin-guide/pm/sleep-states”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/it_IT/admin-guide/pm/sleep-states”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/ja_JP/admin-guide/pm/sleep-states”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/ko_KR/admin-guide/pm/sleep-states”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ//translations/pt_BR/admin-guide/pm/sleep-states”Œ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/admin-guide/pm/sleep-states”Œ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³ŒI/var/lib/git/docbuild/linux/Documentation/admin-guide/pm/sleep-states.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ŒSystem Sleep States”h]”hŒSystem Sleep States”…”�”}”(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| 2017 Intel Corporation ”h]”hŒ paragraph”“”)�”}”(hŒ|copy| 2017 Intel Corporation”h]”(hŒ©”…”�”}”(hj’h²hh³Nh´NubhŒ 2017 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Œ0Rafael J. Wysocki ”h]”j‘)�”}”(hŒ.Rafael J. Wysocki ”h]”(hŒRafael J. Wysocki <”…”�”}”(hjÅh²hh³Nh´NubhŒ reference”“”)�”}”(hŒrafael.j.wysocki@intel.com”h]”hŒrafael.j.wysocki@intel.com”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ!mailto:rafael.j.wysocki@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‘)�”}”(hŒ£Sleep states are global low-power states of the entire system in which user space code cannot be executed and the overall system activity is significantly reduced.”h]”hŒ£Sleep states are global low-power states of the entire system in which user space code cannot be executed and the overall system activity is significantly reduced.”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K hj]h²hubj\)�”}”(hhh]”(ja)�”}”(hŒ"Sleep States That Can Be Supported”h]”hŒ"Sleep States That Can Be Supported”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j`hj h²hh³hÇh´Kubj‘)�”}”(hXDepending on its configuration and the capabilities of the platform it runs on, the Linux kernel can support up to four system sleep states, including hibernation and up to three variants of system suspend. The sleep states that can be supported by the kernel are listed below.”h]”hXDepending on its configuration and the capabilities of the platform it runs on, the Linux kernel can support up to four system sleep states, including hibernation and up to three variants of system suspend. The sleep states that can be supported by the kernel are listed below.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Khj h²hubhŒtarget”“”)�”}”(hŒ .. _s2idle:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œs2idle”uh1j(h´Kphj h²hh³hÇubj\)�”}”(hhh]”(ja)�”}”(hŒSuspend-to-Idle”h]”hŒSuspend-to-Idle”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j`hj6h²hh³hÇh´Kubj‘)�”}”(hX®This is a generic, pure software, light-weight variant of system suspend (also referred to as S2I or S2Idle). It allows more energy to be saved relative to runtime idle by freezing user space, suspending the timekeeping and putting all I/O devices into low-power states (possibly lower-power than available in the working state), such that the processors can spend time in their deepest idle states while the system is suspended.”h]”hX®This is a generic, pure software, light-weight variant of system suspend (also referred to as S2I or S2Idle). It allows more energy to be saved relative to runtime idle by freezing user space, suspending the timekeeping and putting all I/O devices into low-power states (possibly lower-power than available in the working state), such that the processors can spend time in their deepest idle states while the system is suspended.”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Khj6h²hubj‘)�”}”(hŒÊThe system is woken up from this state by in-band interrupts, so theoretically any devices that can cause interrupts to be generated in the working state can also be set up as wakeup devices for S2Idle.”h]”hŒÊThe system is woken up from this state by in-band interrupts, so theoretically any devices that can cause interrupts to be generated in the working state can also be set up as wakeup devices for S2Idle.”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K&hj6h²hubj‘)�”}”(hX=This state can be used on platforms without support for :ref:`standby ` or :ref:`suspend-to-RAM `, or it can be used in addition to any of the deeper system suspend variants to provide reduced resume latency. It is always supported if the :c:macro:`CONFIG_SUSPEND` kernel configuration option is set.”h]”(hŒ8This state can be used on platforms without support for ”…”�”}”(hjch²hh³Nh´Nubh)�”}”(hŒ:ref:`standby `”h]”hŒinline”“”)�”}”(hjmh]”hŒstandby”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjkubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œadmin-guide/pm/sleep-states”Œ refdomain”j|Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œstandby”uh1hh³hÇh´K*hjcubhŒ or ”…”�”}”(hjch²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-RAM `”h]”jp)�”}”(hj–h]”hŒsuspend-to-RAM”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johj”ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”j¢Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2ram”uh1hh³hÇh´K*hjcubhŒ�, or it can be used in addition to any of the deeper system suspend variants to provide reduced resume latency. It is always supported if the ”…”�”}”(hjch²hh³Nh´Nubh)�”}”(hŒ:c:macro:`CONFIG_SUSPEND`”h]”hŒliteral”“”)�”}”(hjºh]”hŒCONFIG_SUSPEND”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”(j{Œc”Œc-macro”eh"]”h$]”h&]”uh1j¼hj¸ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jÈŒreftype”Œmacro”Œ refexplicit”‰Œrefwarn”‰jŽŒCONFIG_SUSPEND”uh1hh³hÇh´K*hjcubhŒ$ kernel configuration option is set.”…”�”}”(hjch²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K*hj6h²hubj))�”}”(hŒ .. _standby:”h]”h}”(h]”h ]”h"]”h$]”h&]”j4Œstandby”uh1j(h´K…hj6h²hh³hÇubeh}”(h]”(Œsuspend-to-idle”j5eh ]”h"]”(Œsuspend-to-idle”Œs2idle”eh$]”h&]”uh1j[hj h²hh³hÇh´KŒexpect_referenced_by_name”}”jõj*sŒexpect_referenced_by_id”}”j5j*subj\)�”}”(hhh]”(ja)�”}”(hŒStandby”h]”hŒStandby”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j`hjüh²hh³hÇh´K2ubj‘)�”}”(hXThis state, if supported, offers moderate, but real, energy savings, while providing a relatively straightforward transition back to the working state. No operating state is lost (the system core logic retains power), so the system can go back to where it left off easily enough.”h]”hXThis state, if supported, offers moderate, but real, energy savings, while providing a relatively straightforward transition back to the working state. No operating state is lost (the system core logic retains power), so the system can go back to where it left off easily enough.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K4hjüh²hubj‘)�”}”(hXÉIn addition to freezing user space, suspending the timekeeping and putting all I/O devices into low-power states, which is done for :ref:`suspend-to-idle ` too, nonboot CPUs are taken offline and all low-level system functions are suspended during transitions into this state. For this reason, it should allow more energy to be saved relative to :ref:`suspend-to-idle `, but the resume latency will generally be greater than for that state.”h]”(hŒ„In addition to freezing user space, suspending the timekeeping and putting all I/O devices into low-power states, which is done for ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-idle `”h]”jp)�”}”(hj%h]”hŒsuspend-to-idle”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johj#ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”j1Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2idle”uh1hh³hÇh´K9hjubhŒÀ too, nonboot CPUs are taken offline and all low-level system functions are suspended during transitions into this state. For this reason, it should allow more energy to be saved relative to ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-idle `”h]”jp)�”}”(hjIh]”hŒsuspend-to-idle”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjGubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jUŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2idle”uh1hh³hÇh´K9hjubhŒG, but the resume latency will generally be greater than for that state.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K9hjüh²hubj‘)�”}”(hŒåThe set of devices that can wake up the system from this state usually is reduced relative to :ref:`suspend-to-idle ` and it may be necessary to rely on the platform for setting up the wakeup functionality as appropriate.”h]”(hŒ^The set of devices that can wake up the system from this state usually is reduced relative to ”…”�”}”(hjqh²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-idle `”h]”jp)�”}”(hj{h]”hŒsuspend-to-idle”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjyubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”j‡Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2idle”uh1hh³hÇh´K@hjqubhŒh and it may be necessary to rely on the platform for setting up the wakeup functionality as appropriate.”…”�”}”(hjqh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K@hjüh²hubj‘)�”}”(hX This state is supported if the :c:macro:`CONFIG_SUSPEND` kernel configuration option is set and the support for it is registered by the platform with the core system suspend subsystem. On ACPI-based systems this state is mapped to the S1 system state defined by ACPI.”h]”(hŒThis state is supported if the ”…”�”}”(hj£h²hh³Nh´Nubh)�”}”(hŒ:c:macro:`CONFIG_SUSPEND`”h]”j½)�”}”(hj­h]”hŒCONFIG_SUSPEND”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”(j{jÈŒc-macro”eh"]”h$]”h&]”uh1j¼hj«ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jÈŒreftype”Œmacro”Œ refexplicit”‰Œrefwarn”‰jŽŒCONFIG_SUSPEND”uh1hh³hÇh´KDhj£ubhŒÔ kernel configuration option is set and the support for it is registered by the platform with the core system suspend subsystem. On ACPI-based systems this state is mapped to the S1 system state defined by ACPI.”…”�”}”(hj£h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KDhjüh²hubj))�”}”(hŒ .. _s2ram:”h]”h}”(h]”h ]”h"]”h$]”h&]”j4Œs2ram”uh1j(h´KŸhjüh²hh³hÇubeh}”(h]”(jîŒid1”eh ]”h"]”Œstandby”ah$]”Œstandby”ah&]”uh1j[hj h²hh³hÇh´K2Œ referenced”Kjø}”jäjäsjú}”jîjäsubj\)�”}”(hhh]”(ja)�”}”(hŒSuspend-to-RAM”h]”hŒSuspend-to-RAM”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j`hjëh²hh³hÇh´KLubj‘)�”}”(hX¾This state (also referred to as STR or S2RAM), if supported, offers significant energy savings as everything in the system is put into a low-power state, except for memory, which should be placed into the self-refresh mode to retain its contents. All of the steps carried out when entering :ref:`standby ` are also carried out during transitions to S2RAM. Additional operations may take place depending on the platform capabilities. In particular, on ACPI-based systems the kernel passes control to the platform firmware (BIOS) as the last step during S2RAM transitions and that usually results in powering down some more low-level components that are not directly controlled by the kernel.”h]”(hX#This state (also referred to as STR or S2RAM), if supported, offers significant energy savings as everything in the system is put into a low-power state, except for memory, which should be placed into the self-refresh mode to retain its contents. All of the steps carried out when entering ”…”�”}”(hjüh²hh³Nh´Nubh)�”}”(hŒ:ref:`standby `”h]”jp)�”}”(hjh]”hŒstandby”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒstandby”uh1hh³hÇh´KNhjüubhXƒ are also carried out during transitions to S2RAM. Additional operations may take place depending on the platform capabilities. In particular, on ACPI-based systems the kernel passes control to the platform firmware (BIOS) as the last step during S2RAM transitions and that usually results in powering down some more low-level components that are not directly controlled by the kernel.”…”�”}”(hjüh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KNhjëh²hubj‘)�”}”(hXThe state of devices and CPUs is saved and held in memory. All devices are suspended and put into low-power states. In many cases, all peripheral buses lose power when entering S2RAM, so devices must be able to handle the transition back to the "on" state.”h]”hXThe state of devices and CPUs is saved and held in memory. All devices are suspended and put into low-power states. In many cases, all peripheral buses lose power when entering S2RAM, so devices must be able to handle the transition back to the “onâ€� state.”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KXhjëh²hubj‘)�”}”(hŒªOn ACPI-based systems S2RAM requires some minimal boot-strapping code in the platform firmware to resume the system from it. This may be the case on other platforms too.”h]”hŒªOn ACPI-based systems S2RAM requires some minimal boot-strapping code in the platform firmware to resume the system from it. This may be the case on other platforms too.”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K]hjëh²hubj‘)�”}”(hŒýThe set of devices that can wake up the system from S2RAM usually is reduced relative to :ref:`suspend-to-idle ` and :ref:`standby ` and it may be necessary to rely on the platform for setting up the wakeup functionality as appropriate.”h]”(hŒYThe set of devices that can wake up the system from S2RAM usually is reduced relative to ”…”�”}”(hjJh²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-idle `”h]”jp)�”}”(hjTh]”hŒsuspend-to-idle”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjRubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”j`Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2idle”uh1hh³hÇh´KahjJubhŒ and ”…”�”}”(hjJh²hh³Nh´Nubh)�”}”(hŒ:ref:`standby `”h]”jp)�”}”(hjxh]”hŒstandby”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjvubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”j„Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒstandby”uh1hh³hÇh´KahjJubhŒh and it may be necessary to rely on the platform for setting up the wakeup functionality as appropriate.”…”�”}”(hjJh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kahjëh²hubj‘)�”}”(hŒÿS2RAM is supported if the :c:macro:`CONFIG_SUSPEND` kernel configuration option is set and the support for it is registered by the platform with the core system suspend subsystem. On ACPI-based systems it is mapped to the S3 system state defined by ACPI.”h]”(hŒS2RAM is supported if the ”…”�”}”(hj h²hh³Nh´Nubh)�”}”(hŒ:c:macro:`CONFIG_SUSPEND`”h]”j½)�”}”(hjªh]”hŒCONFIG_SUSPEND”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”(j{jÈŒc-macro”eh"]”h$]”h&]”uh1j¼hj¨ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jÈŒreftype”Œmacro”Œ refexplicit”‰Œrefwarn”‰jŽŒCONFIG_SUSPEND”uh1hh³hÇh´Kfhj ubhŒÌ kernel configuration option is set and the support for it is registered by the platform with the core system suspend subsystem. On ACPI-based systems it is mapped to the S3 system state defined by ACPI.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kfhjëh²hubj))�”}”(hŒ.. _hibernation:”h]”h}”(h]”h ]”h"]”h$]”h&]”j4Œ hibernation”uh1j(h´KÁhjëh²hh³hÇubeh}”(h]”(Œsuspend-to-ram”jÞeh ]”h"]”(Œsuspend-to-ram”Œs2ram”eh$]”h&]”uh1j[hj h²hh³hÇh´KLjø}”jâjÔsjú}”jÞjÔsubj\)�”}”(hhh]”(ja)�”}”(hŒ Hibernation”h]”hŒ Hibernation”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j`hjçh²hh³hÇh´Knubj‘)�”}”(hX%This state (also referred to as Suspend-to-Disk or STD) offers the greatest energy savings and can be used even in the absence of low-level platform support for system suspend. However, it requires some low-level code for resuming the system to be present for the underlying CPU architecture.”h]”hX%This state (also referred to as Suspend-to-Disk or STD) offers the greatest energy savings and can be used even in the absence of low-level platform support for system suspend. However, it requires some low-level code for resuming the system to be present for the underlying CPU architecture.”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kphjçh²hubj‘)�”}”(hŒ¹Hibernation is significantly different from any of the system suspend variants. It takes three system state changes to put it into hibernation and two system state changes to resume it.”h]”hŒ¹Hibernation is significantly different from any of the system suspend variants. It takes three system state changes to put it into hibernation and two system state changes to resume it.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kuhjçh²hubj‘)�”}”(hX»First, when hibernation is triggered, the kernel stops all system activity and creates a snapshot image of memory to be written into persistent storage. Next, the system goes into a state in which the snapshot image can be saved, the image is written out and finally the system goes into the target low-power state in which power is cut from almost all of its hardware components, including memory, except for a limited set of wakeup devices.”h]”hX»First, when hibernation is triggered, the kernel stops all system activity and creates a snapshot image of memory to be written into persistent storage. Next, the system goes into a state in which the snapshot image can be saved, the image is written out and finally the system goes into the target low-power state in which power is cut from almost all of its hardware components, including memory, except for a limited set of wakeup devices.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kyhjçh²hubj‘)�”}”(hX–Once the snapshot image has been written out, the system may either enter a special low-power state (like ACPI S4), or it may simply power down itself. Powering down means minimum power draw and it allows this mechanism to work on any system. However, entering a special low-power state may allow additional means of system wakeup to be used (e.g. pressing a key on the keyboard or opening a laptop lid).”h]”hX–Once the snapshot image has been written out, the system may either enter a special low-power state (like ACPI S4), or it may simply power down itself. Powering down means minimum power draw and it allows this mechanism to work on any system. However, entering a special low-power state may allow additional means of system wakeup to be used (e.g. pressing a key on the keyboard or opening a laptop lid).”…”�”}”(hj" h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K€hjçh²hubj‘)�”}”(hXbAfter wakeup, control goes to the platform firmware that runs a boot loader which boots a fresh instance of the kernel (control may also go directly to the boot loader, depending on the system configuration, but anyway it causes a fresh instance of the kernel to be booted). That new instance of the kernel (referred to as the ``restore kernel``) looks for a hibernation image in persistent storage and if one is found, it is loaded into memory. Next, all activity in the system is stopped and the restore kernel overwrites itself with the image contents and jumps into a special trampoline area in the original kernel stored in the image (referred to as the ``image kernel``), which is where the special architecture-specific low-level code is needed. Finally, the image kernel restores the system to the pre-hibernation state and allows user space to run again.”h]”(hXHAfter wakeup, control goes to the platform firmware that runs a boot loader which boots a fresh instance of the kernel (control may also go directly to the boot loader, depending on the system configuration, but anyway it causes a fresh instance of the kernel to be booted). That new instance of the kernel (referred to as the ”…”�”}”(hj0 h²hh³Nh´Nubj½)�”}”(hŒ``restore kernel``”h]”hŒrestore kernel”…”�”}”(hj8 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj0 ubhX;) looks for a hibernation image in persistent storage and if one is found, it is loaded into memory. Next, all activity in the system is stopped and the restore kernel overwrites itself with the image contents and jumps into a special trampoline area in the original kernel stored in the image (referred to as the ”…”�”}”(hj0 h²hh³Nh´Nubj½)�”}”(hŒ``image kernel``”h]”hŒ image kernel”…”�”}”(hjJ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj0 ubhŒ½), which is where the special architecture-specific low-level code is needed. Finally, the image kernel restores the system to the pre-hibernation state and allows user space to run again.”…”�”}”(hj0 h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K‡hjçh²hubj‘)�”}”(hŒàHibernation is supported if the :c:macro:`CONFIG_HIBERNATION` kernel configuration option is set. However, this option can only be set if support for the given CPU architecture includes the low-level code for system resume.”h]”(hŒ Hibernation is supported if the ”…”�”}”(hjb h²hh³Nh´Nubh)�”}”(hŒ:c:macro:`CONFIG_HIBERNATION`”h]”j½)�”}”(hjl h]”hŒCONFIG_HIBERNATION”…”�”}”(hjn h²hh³Nh´Nubah}”(h]”h ]”(j{jÈŒc-macro”eh"]”h$]”h&]”uh1j¼hjj ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jÈŒreftype”Œmacro”Œ refexplicit”‰Œrefwarn”‰jŽŒCONFIG_HIBERNATION”uh1hh³hÇh´K”hjb ubhŒ£ kernel configuration option is set. However, this option can only be set if support for the given CPU architecture includes the low-level code for system resume.”…”�”}”(hjb h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K”hjçh²hubeh}”(h]”(jÛŒid2”eh ]”h"]”Œ hibernation”ah$]”Œ hibernation”ah&]”uh1j[hj h²hh³hÇh´KnjèKjø}”j˜ jÑsjú}”jÛjÑsubeh}”(h]”Œ"sleep-states-that-can-be-supported”ah ]”h"]”Œ"sleep states that can be supported”ah$]”h&]”uh1j[hj]h²hh³hÇh´Kubj\)�”}”(hhh]”(ja)�”}”(hŒ=Basic ``sysfs`` Interfaces for System Suspend and Hibernation”h]”(hŒBasic ”…”�”}”(hj© h²hh³Nh´Nubj½)�”}”(hŒ ``sysfs``”h]”hŒsysfs”…”�”}”(hj± h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj© ubhŒ. Interfaces for System Suspend and Hibernation”…”�”}”(hj© h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j`hj¦ h²hh³hÇh´Kšubj‘)�”}”(hXMThe power management subsystem provides userspace with a unified ``sysfs`` interface for system sleep regardless of the underlying system architecture or platform. That interface is located in the :file:`/sys/power/` directory (assuming that ``sysfs`` is mounted at :file:`/sys`) and it consists of the following attributes (files):”h]”(hŒAThe power management subsystem provides userspace with a unified ”…”�”}”(hjÉ h²hh³Nh´Nubj½)�”}”(hŒ ``sysfs``”h]”hŒsysfs”…”�”}”(hjÑ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hjÉ ubhŒ| interface for system sleep regardless of the underlying system architecture or platform. That interface is located in the ”…”�”}”(hjÉ h²hh³Nh´Nubj½)�”}”(hŒ:file:`/sys/power/`”h]”hŒ /sys/power/”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j¼hjÉ ubhŒ directory (assuming that ”…”�”}”(hjÉ h²hh³Nh´Nubj½)�”}”(hŒ ``sysfs``”h]”hŒsysfs”…”�”}”(hjø h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hjÉ ubhŒ is mounted at ”…”�”}”(hjÉ h²hh³Nh´Nubj½)�”}”(hŒ :file:`/sys`”h]”hŒ/sys”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j¼hjÉ ubhŒ6) and it consists of the following attributes (files):”…”�”}”(hjÉ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kœhj¦ h²hubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hXr``state`` This file contains a list of strings representing sleep states supported by the kernel. Writing one of these strings into it causes the kernel to start a transition of the system into the sleep state represented by that string. In particular, the "disk", "freeze" and "standby" strings represent the :ref:`hibernation `, :ref:`suspend-to-idle ` and :ref:`standby ` sleep states, respectively. The "mem" string is interpreted in accordance with the contents of the ``mem_sleep`` file described below. If the kernel does not support any system sleep states, this file is not present. ”h]”(hŒterm”“”)�”}”(hŒ ``state``”h]”j½)�”}”(hj4 h]”hŒstate”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj2 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0 h³hÇh´K¯hj, ubhŒ definition”“”)�”}”(hhh]”(j‘)�”}”(hŒäThis file contains a list of strings representing sleep states supported by the kernel. Writing one of these strings into it causes the kernel to start a transition of the system into the sleep state represented by that string.”h]”hŒäThis file contains a list of strings representing sleep states supported by the kernel. Writing one of these strings into it causes the kernel to start a transition of the system into the sleep state represented by that string.”…”�”}”(hjN h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K£hjK ubj‘)�”}”(hX.In particular, the "disk", "freeze" and "standby" strings represent the :ref:`hibernation `, :ref:`suspend-to-idle ` and :ref:`standby ` sleep states, respectively. The "mem" string is interpreted in accordance with the contents of the ``mem_sleep`` file described below.”h]”(hŒTIn particular, the “diskâ€�, “freezeâ€� and “standbyâ€� strings represent the ”…”�”}”(hj\ h²hh³Nh´Nubh)�”}”(hŒ :ref:`hibernation `”h]”jp)�”}”(hjf h]”hŒ hibernation”…”�”}”(hjh h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjd ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jr Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒ hibernation”uh1hh³hÇh´K¨hj\ ubhŒ, ”…”�”}”(hj\ h²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-idle `”h]”jp)�”}”(hjŠ h]”hŒsuspend-to-idle”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjˆ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”j– Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2idle”uh1hh³hÇh´K¨hj\ ubhŒ and ”…”�”}”(hj\ h²hh³Nh´Nubh)�”}”(hŒ:ref:`standby `”h]”jp)�”}”(hj® h]”hŒstandby”…”�”}”(hj° h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johj¬ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jº Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒstandby”uh1hh³hÇh´K¨hj\ ubhŒi sleep states, respectively. The “memâ€� string is interpreted in accordance with the contents of the ”…”�”}”(hj\ h²hh³Nh´Nubj½)�”}”(hŒ ``mem_sleep``”h]”hŒ mem_sleep”…”�”}”(hjÐ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj\ ubhŒ file described below.”…”�”}”(hj\ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K¨hjK ubj‘)�”}”(hŒQIf the kernel does not support any system sleep states, this file is not present.”h]”hŒQIf the kernel does not support any system sleep states, this file is not present.”…”�”}”(hjè h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K®hjK ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jI hj, ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÇh´K¯hj' ubj+ )�”}”(hXk``mem_sleep`` This file contains a list of strings representing supported system suspend variants and allows user space to select the variant to be associated with the "mem" string in the ``state`` file described above. The strings that may be present in this file are "s2idle", "shallow" and "deep". The "s2idle" string always represents :ref:`suspend-to-idle ` and, by convention, "shallow" and "deep" represent :ref:`standby ` and :ref:`suspend-to-RAM `, respectively. Writing one of the listed strings into this file causes the system suspend variant represented by it to be associated with the "mem" string in the ``state`` file. The string representing the suspend variant currently associated with the "mem" string in the ``state`` file is shown in square brackets. If the kernel does not support system suspend, this file is not present. ”h]”(j1 )�”}”(hŒ ``mem_sleep``”h]”j½)�”}”(hj h]”hŒ mem_sleep”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0 h³hÇh´KÂhj ubjJ )�”}”(hhh]”(j‘)�”}”(hŒÍThis file contains a list of strings representing supported system suspend variants and allows user space to select the variant to be associated with the "mem" string in the ``state`` file described above.”h]”(hŒ²This file contains a list of strings representing supported system suspend variants and allows user space to select the variant to be associated with the “memâ€� string in the ”…”�”}”(hj h²hh³Nh´Nubj½)�”}”(hŒ ``state``”h]”hŒstate”…”�”}”(hj( h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj ubhŒ file described above.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K²hj ubj‘)�”}”(hXThe strings that may be present in this file are "s2idle", "shallow" and "deep". The "s2idle" string always represents :ref:`suspend-to-idle ` and, by convention, "shallow" and "deep" represent :ref:`standby ` and :ref:`suspend-to-RAM `, respectively.”h]”(hŒˆThe strings that may be present in this file are “s2idleâ€�, “shallowâ€� and “deepâ€�. The “s2idleâ€� string always represents ”…”�”}”(hj@ h²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-idle `”h]”jp)�”}”(hjJ h]”hŒsuspend-to-idle”…”�”}”(hjL h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjH ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jV Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2idle”uh1hh³hÇh´K¶hj@ ubhŒ< and, by convention, “shallowâ€� and “deepâ€� represent ”…”�”}”(hj@ h²hh³Nh´Nubh)�”}”(hŒ:ref:`standby `”h]”jp)�”}”(hjn h]”hŒstandby”…”�”}”(hjp h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjl ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jz Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒstandby”uh1hh³hÇh´K¶hj@ ubhŒ and ”…”�”}”(hj@ h²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-RAM `”h]”jp)�”}”(hj’ h]”hŒsuspend-to-RAM”…”�”}”(hj” h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johj� ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jž Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2ram”uh1hh³hÇh´K¶hj@ ubhŒ, respectively.”…”�”}”(hj@ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K¶hj ubj‘)�”}”(hX-Writing one of the listed strings into this file causes the system suspend variant represented by it to be associated with the "mem" string in the ``state`` file. The string representing the suspend variant currently associated with the "mem" string in the ``state`` file is shown in square brackets.”h]”(hŒ—Writing one of the listed strings into this file causes the system suspend variant represented by it to be associated with the “memâ€� string in the ”…”�”}”(hjº h²hh³Nh´Nubj½)�”}”(hŒ ``state``”h]”hŒstate”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hjº ubhŒj file. The string representing the suspend variant currently associated with the “memâ€� string in the ”…”�”}”(hjº h²hh³Nh´Nubj½)�”}”(hŒ ``state``”h]”hŒstate”…”�”}”(hjÔ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hjº ubhŒ" file is shown in square brackets.”…”�”}”(hjº h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K¼hj ubj‘)�”}”(hŒHIf the kernel does not support system suspend, this file is not present.”h]”hŒHIf the kernel does not support system suspend, this file is not present.”…”�”}”(hjì h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KÂhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jI hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÇh´KÂhj' h²hubj+ )�”}”(hXV``disk`` This file controls the operating mode of hibernation (Suspend-to-Disk). Specifically, it tells the kernel what to do after creating a hibernation image. Reading from it returns a list of supported options encoded as: ``platform`` Put the system into a special low-power state (e.g. ACPI S4) to make additional wakeup options available and possibly allow the platform firmware to take a simplified initialization path after wakeup. It is only available if the platform provides a special mechanism to put the system to sleep after creating a hibernation image (platforms with ACPI do that as a rule, for example). ``shutdown`` Power off the system. ``reboot`` Reboot the system (useful for diagnostics mostly). ``suspend`` Hybrid system suspend. Put the system into the suspend sleep state selected through the ``mem_sleep`` file described above. If the system is successfully woken up from that state, discard the hibernation image and continue. Otherwise, use the image to restore the previous state of the system. It is available if system suspend is supported. ``test_resume`` Diagnostic operation. Load the image as though the system had just woken up from hibernation and the currently running kernel instance was a restore kernel and follow up with full system resume. Writing one of the strings listed above into this file causes the option represented by it to be selected. The currently selected option is shown in square brackets, which means that the operation represented by it will be carried out after creating and saving the image when hibernation is triggered by writing ``disk`` to :file:`/sys/power/state`. If the kernel does not support hibernation, this file is not present. ”h]”(j1 )�”}”(hŒ``disk``”h]”j½)�”}”(hj h]”hŒdisk”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0 h³hÇh´Kóhj ubjJ )�”}”(hhh]”(j‘)�”}”(hŒ˜This file controls the operating mode of hibernation (Suspend-to-Disk). Specifically, it tells the kernel what to do after creating a hibernation image.”h]”hŒ˜This file controls the operating mode of hibernation (Suspend-to-Disk). Specifically, it tells the kernel what to do after creating a hibernation image.”…”�”}”(hj$ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KÅhj! ubj‘)�”}”(hŒ?Reading from it returns a list of supported options encoded as:”h]”hŒ?Reading from it returns a list of supported options encoded as:”…”�”}”(hj2 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KÉhj! ubj& )�”}”(hhh]”(j+ )�”}”(hX�``platform`` Put the system into a special low-power state (e.g. ACPI S4) to make additional wakeup options available and possibly allow the platform firmware to take a simplified initialization path after wakeup. It is only available if the platform provides a special mechanism to put the system to sleep after creating a hibernation image (platforms with ACPI do that as a rule, for example). ”h]”(j1 )�”}”(hŒ ``platform``”h]”j½)�”}”(hjI h]”hŒplatform”…”�”}”(hjK h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hjG ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0 h³hÇh´KÔhjC ubjJ )�”}”(hhh]”(j‘)�”}”(hŒÈPut the system into a special low-power state (e.g. ACPI S4) to make additional wakeup options available and possibly allow the platform firmware to take a simplified initialization path after wakeup.”h]”hŒÈPut the system into a special low-power state (e.g. ACPI S4) to make additional wakeup options available and possibly allow the platform firmware to take a simplified initialization path after wakeup.”…”�”}”(hja h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KÌhj^ ubj‘)�”}”(hŒµIt is only available if the platform provides a special mechanism to put the system to sleep after creating a hibernation image (platforms with ACPI do that as a rule, for example).”h]”hŒµIt is only available if the platform provides a special mechanism to put the system to sleep after creating a hibernation image (platforms with ACPI do that as a rule, for example).”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KÑhj^ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jI hjC ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÇh´KÔhj@ ubj+ )�”}”(hŒ#``shutdown`` Power off the system. ”h]”(j1 )�”}”(hŒ ``shutdown``”h]”j½)�”}”(hj� h]”hŒshutdown”…”�”}”(hj‘ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0 h³hÇh´K×hj‰ ubjJ )�”}”(hhh]”j‘)�”}”(hŒPower off the system.”h]”hŒPower off the system.”…”�”}”(hj§ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´K×hj¤ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jI hj‰ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÇh´K×hj@ ubj+ )�”}”(hŒ>``reboot`` Reboot the system (useful for diagnostics mostly). ”h]”(j1 )�”}”(hŒ ``reboot``”h]”j½)�”}”(hjÇ h]”hŒreboot”…”�”}”(hjÉ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hjÅ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0 h³hÇh´KÚhjÁ ubjJ )�”}”(hhh]”j‘)�”}”(hŒ2Reboot the system (useful for diagnostics mostly).”h]”hŒ2Reboot the system (useful for diagnostics mostly).”…”�”}”(hjß h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KÚhjÜ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jI hjÁ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÇh´KÚhj@ ubj+ )�”}”(hXe``suspend`` Hybrid system suspend. Put the system into the suspend sleep state selected through the ``mem_sleep`` file described above. If the system is successfully woken up from that state, discard the hibernation image and continue. Otherwise, use the image to restore the previous state of the system. It is available if system suspend is supported. ”h]”(j1 )�”}”(hŒ ``suspend``”h]”j½)�”}”(hjÿ h]”hŒsuspend”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hjý ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0 h³hÇh´Kãhjù ubjJ )�”}”(hhh]”(j‘)�”}”(hX'Hybrid system suspend. Put the system into the suspend sleep state selected through the ``mem_sleep`` file described above. If the system is successfully woken up from that state, discard the hibernation image and continue. Otherwise, use the image to restore the previous state of the system.”h]”(hŒYHybrid system suspend. Put the system into the suspend sleep state selected through the ”…”�”}”(hj h²hh³Nh´Nubj½)�”}”(hŒ ``mem_sleep``”h]”hŒ mem_sleep”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj ubhŒÁ file described above. If the system is successfully woken up from that state, discard the hibernation image and continue. Otherwise, use the image to restore the previous state of the system.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´KÝhj ubj‘)�”}”(hŒ/It is available if system suspend is supported.”h]”hŒ/It is available if system suspend is supported.”…”�”}”(hj7 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kãhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jI hjù ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÇh´Kãhj@ ubj+ )�”}”(hŒÔ``test_resume`` Diagnostic operation. Load the image as though the system had just woken up from hibernation and the currently running kernel instance was a restore kernel and follow up with full system resume. ”h]”(j1 )�”}”(hŒ``test_resume``”h]”j½)�”}”(hjW h]”hŒ test_resume”…”�”}”(hjY h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hjU ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0 h³hÇh´KéhjQ ubjJ )�”}”(hhh]”j‘)�”}”(hŒÃDiagnostic operation. Load the image as though the system had just woken up from hibernation and the currently running kernel instance was a restore kernel and follow up with full system resume.”h]”hŒÃDiagnostic operation. Load the image as though the system had just woken up from hibernation and the currently running kernel instance was a restore kernel and follow up with full system resume.”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kæhjl ubah}”(h]”h ]”h"]”h$]”h&]”uh1jI hjQ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÇh´Kéhj@ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j% hj! ubj‘)�”}”(hŒjWriting one of the strings listed above into this file causes the option represented by it to be selected.”h]”hŒjWriting one of the strings listed above into this file causes the option represented by it to be selected.”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Këhj! ubj‘)�”}”(hŒòThe currently selected option is shown in square brackets, which means that the operation represented by it will be carried out after creating and saving the image when hibernation is triggered by writing ``disk`` to :file:`/sys/power/state`.”h]”(hŒÍThe currently selected option is shown in square brackets, which means that the operation represented by it will be carried out after creating and saving the image when hibernation is triggered by writing ”…”�”}”(hj� h²hh³Nh´Nubj½)�”}”(hŒ``disk``”h]”hŒdisk”…”�”}”(hj¥ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj� ubhŒ to ”…”�”}”(hj� h²hh³Nh´Nubj½)�”}”(hŒ:file:`/sys/power/state`”h]”hŒ/sys/power/state”…”�”}”(hj· h²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j¼hj� ubhŒ.”…”�”}”(hj� h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kîhj! ubj‘)�”}”(hŒEIf the kernel does not support hibernation, this file is not present.”h]”hŒEIf the kernel does not support hibernation, this file is not present.”…”�”}”(hjÒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Kóhj! ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jI hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÇh´Kóhj' h²hubj+ )�”}”(hXŽ``image_size`` This file controls the size of hibernation images. It can be written a string representing a non-negative integer that will be used as a best-effort upper limit of the image size, in bytes. The hibernation core will do its best to ensure that the image size will not exceed that number, but if that turns out to be impossible to achieve, a hibernation image will still be created and its size will be as small as possible. In particular, writing '0' to this file causes the size of hibernation images to be minimum. Reading from it returns the current image size limit, which is set to around 2/5 of the available RAM size by default. ”h]”(j1 )�”}”(hŒ``image_size``”h]”j½)�”}”(hjò h]”hŒ image_size”…”�”}”(hjô h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hjð ubah}”(h]”h ]”h"]”h$]”h&]”uh1j0 h³hÇh´Mhjì ubjJ )�”}”(hhh]”(j‘)�”}”(hŒ2This file controls the size of hibernation images.”h]”hŒ2This file controls the size of hibernation images.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Köhjubj‘)�”}”(hXÒIt can be written a string representing a non-negative integer that will be used as a best-effort upper limit of the image size, in bytes. The hibernation core will do its best to ensure that the image size will not exceed that number, but if that turns out to be impossible to achieve, a hibernation image will still be created and its size will be as small as possible. In particular, writing '0' to this file causes the size of hibernation images to be minimum.”h]”hXÖIt can be written a string representing a non-negative integer that will be used as a best-effort upper limit of the image size, in bytes. The hibernation core will do its best to ensure that the image size will not exceed that number, but if that turns out to be impossible to achieve, a hibernation image will still be created and its size will be as small as possible. In particular, writing ‘0’ to this file causes the size of hibernation images to be minimum.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Køhjubj‘)�”}”(hŒvReading from it returns the current image size limit, which is set to around 2/5 of the available RAM size by default.”h]”hŒvReading from it returns the current image size limit, which is set to around 2/5 of the available RAM size by default.”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Mhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jI hjì ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÇh´Mhj' h²hubj+ )�”}”(hXÎ``pm_trace`` This file controls the "PM trace" mechanism saving the last suspend or resume event point in the RTC memory across reboots. It helps to debug hard lockups or reboots due to device driver failures that occur during system suspend or resume (which is more common) more effectively. If it contains "1", the fingerprint of each suspend/resume event point in turn will be stored in the RTC memory (overwriting the actual RTC information), so it will survive a system crash if one occurs right after storing it and it can be used later to identify the driver that caused the crash to happen. It contains "0" by default, which may be changed to "1" by writing a string representing a nonzero integer into it. ”h]”(j1 )�”}”(hŒ ``pm_trace``”h]”j½)�”}”(hjFh]”hŒpm_trace”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hjDubah}”(h]”h ]”h"]”h$]”h&]”uh1j0 h³hÇh´Mhj@ubjJ )�”}”(hhh]”(j‘)�”}”(hXThis file controls the "PM trace" mechanism saving the last suspend or resume event point in the RTC memory across reboots. It helps to debug hard lockups or reboots due to device driver failures that occur during system suspend or resume (which is more common) more effectively.”h]”hXThis file controls the “PM traceâ€� mechanism saving the last suspend or resume event point in the RTC memory across reboots. It helps to debug hard lockups or reboots due to device driver failures that occur during system suspend or resume (which is more common) more effectively.”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Mhj[ubj‘)�”}”(hX1If it contains "1", the fingerprint of each suspend/resume event point in turn will be stored in the RTC memory (overwriting the actual RTC information), so it will survive a system crash if one occurs right after storing it and it can be used later to identify the driver that caused the crash to happen.”h]”hX5If it contains “1â€�, the fingerprint of each suspend/resume event point in turn will be stored in the RTC memory (overwriting the actual RTC information), so it will survive a system crash if one occurs right after storing it and it can be used later to identify the driver that caused the crash to happen.”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´M hj[ubj‘)�”}”(hŒsIt contains "0" by default, which may be changed to "1" by writing a string representing a nonzero integer into it.”h]”hŒ{It contains “0â€� by default, which may be changed to “1â€� by writing a string representing a nonzero integer into it.”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Mhj[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jI hj@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j* h³hÇh´Mhj' h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j% hj¦ h²hh³hÇh´Nubj‘)�”}”(hXåAccording to the above, there are two ways to make the system go into the :ref:`suspend-to-idle ` state. The first one is to write "freeze" directly to :file:`/sys/power/state`. The second one is to write "s2idle" to :file:`/sys/power/mem_sleep` and then to write "mem" to :file:`/sys/power/state`. Likewise, there are two ways to make the system go into the :ref:`standby ` state (the strings to write to the control files in that case are "standby" or "shallow" and "mem", respectively) if that state is supported by the platform. However, there is only one way to make the system go into the :ref:`suspend-to-RAM ` state (write "deep" into :file:`/sys/power/mem_sleep` and "mem" into :file:`/sys/power/state`).”h]”(hŒJAccording to the above, there are two ways to make the system go into the ”…”�”}”(hjšh²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-idle `”h]”jp)�”}”(hj¤h]”hŒsuspend-to-idle”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johj¢ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”j°Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2idle”uh1hh³hÇh´MhjšubhŒ< state. The first one is to write “freezeâ€� directly to ”…”�”}”(hjšh²hh³Nh´Nubj½)�”}”(hŒ:file:`/sys/power/state`”h]”hŒ/sys/power/state”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j¼hjšubhŒ.. The second one is to write “s2idleâ€� to ”…”�”}”(hjšh²hh³Nh´Nubj½)�”}”(hŒ:file:`/sys/power/mem_sleep`”h]”hŒ/sys/power/mem_sleep”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j¼hjšubhŒ and then to write “memâ€� to ”…”�”}”(hjšh²hh³Nh´Nubj½)�”}”(hŒ:file:`/sys/power/state`”h]”hŒ/sys/power/state”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j¼hjšubhŒ?. Likewise, there are two ways to make the system go into the ”…”�”}”(hjšh²hh³Nh´Nubh)�”}”(hŒ:ref:`standby `”h]”jp)�”}”(hjh]”hŒstandby”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒstandby”uh1hh³hÇh´MhjšubhŒê state (the strings to write to the control files in that case are “standbyâ€� or “shallowâ€� and “memâ€�, respectively) if that state is supported by the platform. However, there is only one way to make the system go into the ”…”�”}”(hjšh²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-RAM `”h]”jp)�”}”(hj+h]”hŒsuspend-to-RAM”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johj)ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”j7Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2ram”uh1hh³hÇh´MhjšubhŒ state (write “deepâ€� into ”…”�”}”(hjšh²hh³Nh´Nubj½)�”}”(hŒ:file:`/sys/power/mem_sleep`”h]”hŒ/sys/power/mem_sleep”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j¼hjšubhŒ and “memâ€� into ”…”�”}”(hjšh²hh³Nh´Nubj½)�”}”(hŒ:file:`/sys/power/state`”••h]”hŒ/sys/power/state”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j¼hjšubhŒ).”…”�”}”(hjšh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Mhj¦ h²hubj‘)�”}”(hXåThe default suspend variant (ie. the one to be used without writing anything into :file:`/sys/power/mem_sleep`) is either "deep" (on the majority of systems supporting :ref:`suspend-to-RAM `) or "s2idle", but it can be overridden by the value of the ``mem_sleep_default`` parameter in the kernel command line. On some systems with ACPI, depending on the information in the ACPI tables, the default may be "s2idle" even if :ref:`suspend-to-RAM ` is supported in principle.”h]”(hŒRThe default suspend variant (ie. the one to be used without writing anything into ”…”�”}”(hj}h²hh³Nh´Nubj½)�”}”(hŒ:file:`/sys/power/mem_sleep`”h]”hŒ/sys/power/mem_sleep”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1j¼hj}ubhŒ>) is either “deepâ€� (on the majority of systems supporting ”…”�”}”(hj}h²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-RAM `”h]”jp)�”}”(hjœh]”hŒsuspend-to-RAM”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjšubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”j¨Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2ram”uh1hh³hÇh´Mhj}ubhŒ@) or “s2idleâ€�, but it can be overridden by the value of the ”…”�”}”(hj}h²hh³Nh´Nubj½)�”}”(hŒ``mem_sleep_default``”h]”hŒmem_sleep_default”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¼hj}ubhŒ› parameter in the kernel command line. On some systems with ACPI, depending on the information in the ACPI tables, the default may be “s2idleâ€� even if ”…”�”}”(hj}h²hh³Nh´Nubh)�”}”(hŒ:ref:`suspend-to-RAM `”h]”jp)�”}”(hjÒh]”hŒsuspend-to-RAM”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”(j{Œstd”Œstd-ref”eh"]”h$]”h&]”uh1johjÐubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jˆŒ refdomain”jÞŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŽŒs2ram”uh1hh³hÇh´Mhj}ubhŒ is supported in principle.”…”�”}”(hj}h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1j�h³hÇh´Mhj¦ h²hubeh}”(h]”Œ9basic-sysfs-interfaces-for-system-suspend-and-hibernation”ah ]”h"]”Œ9basic sysfs interfaces for system suspend and hibernation”ah$]”h&]”uh1j[hj]h²hh³hÇh´Kšubeh}”(h]”Œsystem-sleep-states”ah ]”h"]”Œsystem sleep states”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”}”(j5]”j*ajî]”jäajÞ]”jÔajÛ]”jÑauŒnameids”}”(jjj£ j  jõj5jôjñjäjîjâjÞjájÞj˜ jÛjÿjüuŒ nametypes”}”(j‰j£ ‰jõˆjô‰jäˆjâˆjá‰j˜ ˆjÿ‰uh}”(jj]j  j j5j6jñj6jîjüjájüjÞjëjÞjëjÛjçj• jçjü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”“”}”j;Ks…”R”Œparse_messages”]”(hŒsystem_message”“”)�”}”(hhh]”j‘)�”}”(hŒ*Duplicate implicit target name: "standby".”h]”hŒ.Duplicate implicit target name: “standbyâ€�.”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjáubah}”(h]”h ]”h"]”h$]”h&]”jáaŒlevel”KŒtype”ŒINFO”Œsource”hÇŒline”K2uh1jßhjüh²hh³hÇh´K2ubjà)�”}”(hhh]”j‘)�”}”(hŒ.Duplicate implicit target name: "hibernation".”h]”hŒ2Duplicate implicit target name: “hibernationâ€�.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjýubah}”(h]”h ]”h"]”h$]”h&]”j• aŒlevel”KŒtype”júŒsource”hÇŒline”Knuh1jßhjçh²hh³hÇh´KnubeŒtransform_messages”]”(jà)�”}”(hhh]”j‘)�”}”(hhh]”hŒ,Hyperlink target "s2idle" is not referenced.”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”júŒsource”hÇŒline”Kpuh1jßubjà)�”}”(hhh]”j‘)�”}”(hhh]”hŒ-Hyperlink target "standby" is not referenced.”…”�”}”hj7sbah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj4ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”júŒsource”hÇŒline”K…uh1jßubjà)�”}”(hhh]”j‘)�”}”(hhh]”hŒ+Hyperlink target "s2ram" is not referenced.”…”�”}”hjQsbah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjNubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”júŒsource”hÇŒline”KŸuh1jßubjà)�”}”(hhh]”j‘)�”}”(hhh]”hŒ1Hyperlink target "hibernation" is not referenced.”…”�”}”hjksbah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjhubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”júŒsource”hÇŒline”KÁuh1jßubeŒ transformer”NŒ include_log”]”Œ-Documentation/admin-guide/pm/sleep-states.rst”(NNNNt”†”aŒ decoration”Nh²hub.