€•“JŒ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”Œ9/translations/zh_CN/fault-injection/notifier-error-inject”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/zh_TW/fault-injection/notifier-error-inject”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/it_IT/fault-injection/notifier-error-inject”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/ja_JP/fault-injection/notifier-error-inject”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/ko_KR/fault-injection/notifier-error-inject”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/pt_BR/fault-injection/notifier-error-inject”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/sp_SP/fault-injection/notifier-error-inject”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒNotifier error injection”h]”hŒNotifier error injection”…””}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒS/var/lib/git/docbuild/linux/Documentation/fault-injection/notifier-error-inject.rst”h´KubhŒ paragraph”“”)”}”(hXNotifier error injection provides the ability to inject artificial errors to specified notifier chain callbacks. It is useful to test the error handling of notifier call chain failures which is rarely executed. There are kernel modules that can be used to test the following notifiers.”h]”hXNotifier error injection provides the ability to inject artificial errors to specified notifier chain callbacks. It is useful to test the error handling of notifier call chain failures which is rarely executed. There are kernel modules that can be used to test the following notifiers.”…””}”(hhÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhŒ block_quote”“”)”}”(hŒa* PM notifier * Memory hotplug notifier * powerpc pSeries reconfig notifier * Netdevice notifier ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ PM notifier”h]”hÌ)”}”(hhêh]”hŒ PM notifier”…””}”(hhìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hhèubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhhãubhç)”}”(hŒMemory hotplug notifier”h]”hÌ)”}”(hjh]”hŒMemory hotplug notifier”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hhÿubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhhãubhç)”}”(hŒ!powerpc pSeries reconfig notifier”h]”hÌ)”}”(hjh]”hŒ!powerpc pSeries reconfig notifier”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhhãubhç)”}”(hŒNetdevice notifier ”h]”hÌ)”}”(hŒNetdevice notifier”h]”hŒNetdevice notifier”…””}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhhãubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1háh³hÊh´K hhÝubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K hh·h²hubh¶)”}”(hhh]”(h»)”}”(hŒ"PM notifier error injection module”h]”hŒ"PM notifier error injection module”…””}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjSh²hh³hÊh´KubhÌ)”}”(hŒ4This feature is controlled through debugfs interface”h]”hŒ4This feature is controlled through debugfs interface”…””}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhjSh²hubhÜ)”}”(hŒJ/sys/kernel/debug/notifier-error-inject/pm/actions//error ”h]”hÌ)”}”(hŒI/sys/kernel/debug/notifier-error-inject/pm/actions//error”h]”hŒI/sys/kernel/debug/notifier-error-inject/pm/actions//error”…””}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khjrubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´KhjSh²hubhÌ)”}”(hŒ-Possible PM notifier events to be failed are:”h]”hŒ-Possible PM notifier events to be failed are:”…””}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhjSh²hubhÜ)”}”(hŒC* PM_HIBERNATION_PREPARE * PM_SUSPEND_PREPARE * PM_RESTORE_PREPARE ”h]”hâ)”}”(hhh]”(hç)”}”(hŒPM_HIBERNATION_PREPARE”h]”hÌ)”}”(hj¡h]”hŒPM_HIBERNATION_PREPARE”…””}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjœubhç)”}”(hŒPM_SUSPEND_PREPARE”h]”hÌ)”}”(hj¸h]”hŒPM_SUSPEND_PREPARE”…””}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjœubhç)”}”(hŒPM_RESTORE_PREPARE ”h]”hÌ)”}”(hŒPM_RESTORE_PREPARE”h]”hŒPM_RESTORE_PREPARE”…””}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjœubeh}”(h]”h ]”h"]”h$]”h&]”jKjLuh1háh³hÊh´Khj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´KhjSh²hubhÌ)”}”(hŒ2Example: Inject PM suspend error (-12 = -ENOMEM)::”h]”hŒ1Example: Inject PM suspend error (-12 = -ENOMEM):”…””}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KhjSh²hubhŒ literal_block”“”)”}”(hŒ¬# cd /sys/kernel/debug/notifier-error-inject/pm/ # echo -12 > actions/PM_SUSPEND_PREPARE/error # echo mem > /sys/power/state bash: echo: write error: Cannot allocate memory”h]”hŒ¬# cd /sys/kernel/debug/notifier-error-inject/pm/ # echo -12 > actions/PM_SUSPEND_PREPARE/error # echo mem > /sys/power/state bash: echo: write error: Cannot allocate memory”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jÿh³hÊh´KhjSh²hubeh}”(h]”Œ"pm-notifier-error-injection-module”ah ]”h"]”Œ"pm notifier error injection module”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)”}”(hhh]”(h»)”}”(hŒ.Memory hotplug notifier error injection module”h]”hŒ.Memory hotplug notifier error injection module”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´K"ubhÌ)”}”(hŒ4This feature is controlled through debugfs interface”h]”hŒ4This feature is controlled through debugfs interface”…””}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K#hjh²hubhÜ)”}”(hŒN/sys/kernel/debug/notifier-error-inject/memory/actions//error ”h]”hÌ)”}”(hŒM/sys/kernel/debug/notifier-error-inject/memory/actions//error”h]”hŒM/sys/kernel/debug/notifier-error-inject/memory/actions//error”…””}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K%hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K%hjh²hubhÌ)”}”(hŒ1Possible memory notifier events to be failed are:”h]”hŒ1Possible memory notifier events to be failed are:”…””}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K'hjh²hubhÜ)”}”(hŒ'* MEM_GOING_ONLINE * MEM_GOING_OFFLINE ”h]”hâ)”}”(hhh]”(hç)”}”(hŒMEM_GOING_ONLINE”h]”hÌ)”}”(hjgh]”hŒMEM_GOING_ONLINE”…””}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K)hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjbubhç)”}”(hŒMEM_GOING_OFFLINE ”h]”hÌ)”}”(hŒMEM_GOING_OFFLINE”h]”hŒMEM_GOING_OFFLINE”…””}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K*hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjbubeh}”(h]”h ]”h"]”h$]”h&]”jKjLuh1háh³hÊh´K)hj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K)hjh²hubhÌ)”}”(hŒ?Example: Inject memory hotplug offline error (-12 == -ENOMEM)::”h]”hŒ>Example: Inject memory hotplug offline error (-12 == -ENOMEM):”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K,hjh²hubj)”}”(hŒÌ# cd /sys/kernel/debug/notifier-error-inject/memory # echo -12 > actions/MEM_GOING_OFFLINE/error # echo offline > /sys/devices/system/memory/memoryXXX/state bash: echo: write error: Cannot allocate memory”h]”hŒÌ# cd /sys/kernel/debug/notifier-error-inject/memory # echo -12 > actions/MEM_GOING_OFFLINE/error # echo offline > /sys/devices/system/memory/memoryXXX/state bash: echo: write error: Cannot allocate memory”…””}”hj®sbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jÿh³hÊh´K.hjh²hubeh}”(h]”Œ.memory-hotplug-notifier-error-injection-module”ah ]”h"]”Œ.memory hotplug notifier error injection module”ah$]”h&]”uh1hµhh·h²hh³hÊh´K"ubh¶)”}”(hhh]”(h»)”}”(hŒ8powerpc pSeries reconfig notifier error injection module”h]”hŒ8powerpc pSeries reconfig notifier error injection module”…””}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÄh²hh³hÊh´K4ubhÌ)”}”(hŒ4This feature is controlled through debugfs interface”h]”hŒ4This feature is controlled through debugfs interface”…””}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K5hjÄh²hubhÜ)”}”(hŒX/sys/kernel/debug/notifier-error-inject/pSeries-reconfig/actions//error ”h]”hÌ)”}”(hŒW/sys/kernel/debug/notifier-error-inject/pSeries-reconfig/actions//error”h]”hŒW/sys/kernel/debug/notifier-error-inject/pSeries-reconfig/actions//error”…””}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K7hjãubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K7hjÄh²hubhÌ)”}”(hŒ;Possible pSeries reconfig notifier events to be failed are:”h]”hŒ;Possible pSeries reconfig notifier events to be failed are:”…””}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K9hjÄh²hubhÜ)”}”(hŒf* PSERIES_RECONFIG_ADD * PSERIES_RECONFIG_REMOVE * PSERIES_DRCONF_MEM_ADD * PSERIES_DRCONF_MEM_REMOVE ”h]”hâ)”}”(hhh]”(hç)”}”(hŒPSERIES_RECONFIG_ADD”h]”hÌ)”}”(hjh]”hŒPSERIES_RECONFIG_ADD”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K;hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhj ubhç)”}”(hŒPSERIES_RECONFIG_REMOVE”h]”hÌ)”}”(hj)h]”hŒPSERIES_RECONFIG_REMOVE”…””}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhj ubhç)”}”(hŒPSERIES_DRCONF_MEM_REMOVE ”h]”hÌ)”}”(hŒPSERIES_DRCONF_MEM_REMOVE”h]”hŒPSERIES_DRCONF_MEM_REMOVE”…””}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K>hjUubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhj ubeh}”(h]”h ]”h"]”h$]”h&]”jKjLuh1háh³hÊh´K;hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K;hjÄh²hubeh}”(h]”Œ8powerpc-pseries-reconfig-notifier-error-injection-module”ah ]”h"]”Œ8powerpc pseries reconfig notifier error injection module”ah$]”h&]”uh1hµhh·h²hh³hÊh´K4ubh¶)”}”(hhh]”(h»)”}”(hŒ)Netdevice notifier error injection module”h]”hŒ)Netdevice notifier error injection module”…””}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´KAubhÌ)”}”(hŒ4This feature is controlled through debugfs interface”h]”hŒ4This feature is controlled through debugfs interface”…””}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KBhjh²hubhÜ)”}”(hŒN/sys/kernel/debug/notifier-error-inject/netdev/actions//error ”h]”hÌ)”}”(hŒM/sys/kernel/debug/notifier-error-inject/netdev/actions//error”h]”hŒM/sys/kernel/debug/notifier-error-inject/netdev/actions//error”…””}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KDhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´KDhjh²hubhÌ)”}”(hŒ2Netdevice notifier events which can be failed are:”h]”hŒ2Netdevice notifier events which can be failed are:”…””}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KFhjh²hubhÜ)”}”(hŒ¸* NETDEV_REGISTER * NETDEV_CHANGEMTU * NETDEV_CHANGENAME * NETDEV_PRE_UP * NETDEV_PRE_TYPE_CHANGE * NETDEV_POST_INIT * NETDEV_PRECHANGEMTU * NETDEV_PRECHANGEUPPER * NETDEV_CHANGEUPPER ”h]”hâ)”}”(hhh]”(hç)”}”(hŒNETDEV_REGISTER”h]”hÌ)”}”(hjÏh]”hŒNETDEV_REGISTER”…””}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KHhjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjÊubhç)”}”(hŒNETDEV_CHANGEMTU”h]”hÌ)”}”(hjæh]”hŒNETDEV_CHANGEMTU”…””}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KIhjäubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjÊubhç)”}”(hŒNETDEV_CHANGENAME”h]”hÌ)”}”(hjýh]”hŒNETDEV_CHANGENAME”…””}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KJhjûubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjÊubhç)”}”(hŒ NETDEV_PRE_UP”h]”hÌ)”}”(hjh]”hŒ NETDEV_PRE_UP”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KKhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjÊubhç)”}”(hŒNETDEV_PRE_TYPE_CHANGE”h]”hÌ)”}”(hj+h]”hŒNETDEV_PRE_TYPE_CHANGE”…””}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KLhj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjÊubhç)”}”(hŒNETDEV_POST_INIT”h]”hÌ)”}”(hjBh]”hŒNETDEV_POST_INIT”…””}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KMhj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjÊubhç)”}”(hŒNETDEV_PRECHANGEMTU”h]”hÌ)”}”(hjYh]”hŒNETDEV_PRECHANGEMTU”…””}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KNhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjÊubhç)”}”(hŒNETDEV_PRECHANGEUPPER”h]”hÌ)”}”(hjph]”hŒNETDEV_PRECHANGEUPPER”…””}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KOhjnubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjÊubhç)”}”(hŒNETDEV_CHANGEUPPER ”h]”hÌ)”}”(hŒNETDEV_CHANGEUPPER”h]”hŒNETDEV_CHANGEUPPER”…””}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KPhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjÊubeh}”(h]”h ]”h"]”h$]”h&]”jKjLuh1háh³hÊh´KHhjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´KHhjh²hubhÌ)”}”(hŒ=Example: Inject netdevice mtu change error (-22 == -EINVAL)::”h]”hŒ actions/NETDEV_CHANGEMTU/error # ip link set eth0 mtu 1024 RTNETLINK answers: Invalid argument”h]”hŒŸ# cd /sys/kernel/debug/notifier-error-inject/netdev # echo -22 > actions/NETDEV_CHANGEMTU/error # ip link set eth0 mtu 1024 RTNETLINK answers: Invalid argument”…””}”hj·sbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jÿh³hÊh´KThjh²hubeh}”(h]”Œ)netdevice-notifier-error-injection-module”ah ]”h"]”Œ)netdevice notifier error injection module”ah$]”h&]”uh1hµhh·h²hh³hÊh´KAubh¶)”}”(hhh]”(h»)”}”(hŒFor more usage examples”h]”hŒFor more usage examples”…””}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÍh²hh³hÊh´KZubhÌ)”}”(hŒkThere are tools/testing/selftests using the notifier error injection features for CPU and memory notifiers.”h]”hŒkThere are tools/testing/selftests using the notifier error injection features for CPU and memory notifiers.”…””}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K[hjÍh²hubhÜ)”}”(hŒu* tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh * tools/testing/selftests/memory-hotplug/mem-on-off-test.sh ”h]”hâ)”}”(hhh]”(hç)”}”(hŒ6tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh”h]”hÌ)”}”(hjõh]”hŒ6tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh”…””}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K^hjóubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjðubhç)”}”(hŒ:tools/testing/selftests/memory-hotplug/mem-on-off-test.sh ”h]”hÌ)”}”(hŒ9tools/testing/selftests/memory-hotplug/mem-on-off-test.sh”h]”hŒ9tools/testing/selftests/memory-hotplug/mem-on-off-test.sh”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K_hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjðubeh}”(h]”h ]”h"]”h$]”h&]”jKjLuh1háh³hÊh´K^hjìubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÊh´K^hjÍh²hubhÌ)”}”(hŒ‰These scripts first do simple online and offline tests and then do fault injection tests if notifier error injection module is available.”h]”hŒ‰These scripts first do simple online and offline tests and then do fault injection tests if notifier error injection module is available.”…””}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KahjÍh²hubeh}”(h]”Œfor-more-usage-examples”ah ]”h"]”Œfor more usage examples”ah$]”h&]”uh1hµhh·h²hh³hÊh´KZubeh}”(h]”Œnotifier-error-injection”ah ]”h"]”Œnotifier error injection”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”joŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jIjFjjjÁj¾j~j{jÊjÇjAj>uŒ nametypes”}”(jI‰j‰jÁ‰j~‰jʉjA‰uh}”(jFh·jjSj¾jj{jÄjÇjj>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”]”Œ decoration”Nh²hub.