All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -mm 1/3] notifier error injection: fix copy-and-paste error in Kconfig help
@ 2012-07-08  0:24 Akinobu Mita
  2012-07-08  0:24 ` [PATCH -mm 2/3] notifier error injection documentation Akinobu Mita
  2012-07-08  0:24 ` [PATCH -mm 3/3] fault-injection: mention failcmd.sh tool in document Akinobu Mita
  0 siblings, 2 replies; 4+ messages in thread
From: Akinobu Mita @ 2012-07-08  0:24 UTC (permalink / raw)
  To: linux-kernel, akpm; +Cc: Akinobu Mita, Benjamin Herrenschmidt, Paul Mackerras

powerpc-pseries-reconfig-notifier-error-injection-module.patch
in -mm tree has a copy-and-paste error in Kconfig help.

The module name should be pSeries-reconfig-notifier-error-inject.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
---
 lib/Kconfig.debug |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8f8e226..1b77bc7 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1179,7 +1179,7 @@ config PSERIES_RECONFIG_NOTIFIER_ERROR_INJECT
 	  notified, write the error code to "actions/<notifier event>/error".
 
 	  To compile this code as a module, choose M here: the module will
-	  be called memory-notifier-error-inject.
+	  be called pSeries-reconfig-notifier-error-inject.
 
 	  If unsure, say N.
 
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH -mm 2/3] notifier error injection documentation
  2012-07-08  0:24 [PATCH -mm 1/3] notifier error injection: fix copy-and-paste error in Kconfig help Akinobu Mita
@ 2012-07-08  0:24 ` Akinobu Mita
  2012-07-08 15:03   ` Rafael J. Wysocki
  2012-07-08  0:24 ` [PATCH -mm 3/3] fault-injection: mention failcmd.sh tool in document Akinobu Mita
  1 sibling, 1 reply; 4+ messages in thread
From: Akinobu Mita @ 2012-07-08  0:24 UTC (permalink / raw)
  To: linux-kernel, akpm
  Cc: Akinobu Mita, Pavel Machek, Rafael J. Wysocki, Greg KH,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	Dave Jones

fault-injection-notifier-error-injection.patch in -mm tree adds
notifier error injection.

This adds Documentation/fault-injection/notifier-error-inject.txt
which describes its feature and usage examples.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Greg KH <greg@kroah.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <michael@ellerman.id.au>
Cc: Dave Jones <davej@redhat.com>
---
 .../fault-injection/notifier-error-inject.txt      |   99 ++++++++++++++++++++
 1 file changed, 99 insertions(+)
 create mode 100644 Documentation/fault-injection/notifier-error-inject.txt

diff --git a/Documentation/fault-injection/notifier-error-inject.txt b/Documentation/fault-injection/notifier-error-inject.txt
new file mode 100644
index 0000000..c83526c
--- /dev/null
+++ b/Documentation/fault-injection/notifier-error-inject.txt
@@ -0,0 +1,99 @@
+Notifier error injection
+========================
+
+Notifier error injection provides the ability to inject artifical 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.
+
+ * CPU notifier
+ * PM notifier
+ * Memory hotplug notifier
+ * powerpc pSeries reconfig notifier
+
+CPU notifier error injection module
+-----------------------------------
+This feature can be used to test the error handling of the CPU notifiers by
+injecting artifical errors to CPU notifier chain callbacks.
+
+If the notifier call chain should be failed with some events notified, write
+the error code to debugfs interface
+/sys/kernel/debug/notifier-error-inject/cpu/actions/<notifier event>/error
+
+Possible CPU notifier events to be failed are:
+
+ * CPU_UP_PREPARE
+ * CPU_UP_PREPARE_FROZEN
+ * CPU_DOWN_PREPARE
+ * CPU_DOWN_PREPARE_FROZEN
+
+Example1: Inject CPU offline error (-1 == -EPERM)
+
+	# cd /sys/kernel/debug/notifier-error-inject/cpu
+	# echo -1 > actions/CPU_DOWN_PREPARE/error
+	# echo 0 > /sys/devices/system/cpu/cpu1/online
+	bash: echo: write error: Operation not permitted
+
+Example2: inject CPU online error (-2 == -ENOENT)
+
+	# echo -2 > actions/CPU_UP_PREPARE/error
+	# echo 1 > /sys/devices/system/cpu/cpu1/online
+	bash: echo: write error: No such file or directory
+
+PM notifier error injection module
+----------------------------------
+This feature is controlled through debugfs interface
+/sys/kernel/debug/notifier-error-inject/pm/actions/<notifier event>/error
+
+Possible PM notifier events to be failed are:
+
+ * PM_HIBERNATION_PREPARE
+ * PM_SUSPEND_PREPARE
+ * PM_RESTORE_PREPARE
+
+Example: Inject PM suspend error (-12 = -ENOMEM)
+
+	# 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
+
+Memory hotplug notifier error injection module
+----------------------------------------------
+This feature is controlled through debugfs interface
+/sys/kernel/debug/notifier-error-inject/memory/actions/<notifier event>/error
+
+Possible memory notifier events to be failed are:
+
+ * MEM_GOING_ONLINE
+ * MEM_GOING_OFFLINE
+
+Example: Inject memory hotplug offline error (-12 == -ENOMEM)
+
+	# 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
+
+powerpc pSeries reconfig notifier error injection module
+--------------------------------------------------------
+This feature is controlled through debugfs interface
+/sys/kernel/debug/notifier-error-inject/pSeries-reconfig/actions/<notifier event>/error
+
+Possible pSeries reconfig notifier events to be failed are:
+
+ * PSERIES_RECONFIG_ADD
+ * PSERIES_RECONFIG_REMOVE
+ * PSERIES_DRCONF_MEM_ADD
+ * PSERIES_DRCONF_MEM_REMOVE
+
+For more usage examples
+-----------------------
+There are tools/testing/selftests using the notifier error injection features
+for CPU and memory notifiers.
+
+ * tools/testing/selftests/cpu-hotplug/on-off-test.sh
+ * tools/testing/selftests/memory-hotplug/on-off-test.sh
+
+These scripts first do simple online and offline tests and then do fault
+injection tests if notifier error injection module is available.
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH -mm 3/3] fault-injection: mention failcmd.sh tool in document
  2012-07-08  0:24 [PATCH -mm 1/3] notifier error injection: fix copy-and-paste error in Kconfig help Akinobu Mita
  2012-07-08  0:24 ` [PATCH -mm 2/3] notifier error injection documentation Akinobu Mita
@ 2012-07-08  0:24 ` Akinobu Mita
  1 sibling, 0 replies; 4+ messages in thread
From: Akinobu Mita @ 2012-07-08  0:24 UTC (permalink / raw)
  To: linux-kernel, akpm; +Cc: Akinobu Mita

fault-injection-add-tool-to-run-command-with-failslab-or-fail_page_alloc.patch
in -mm tree adds tools/testing/fault-injection/failcmd.sh to make it
easier to inject slab/page allocation failures by fault injection.

This adds the introduction to
Documentation/fault-injection/fault-injection.txt.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
---
 Documentation/fault-injection/fault-injection.txt |   27 +++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/Documentation/fault-injection/fault-injection.txt b/Documentation/fault-injection/fault-injection.txt
index dc77948..832fc4f 100644
--- a/Documentation/fault-injection/fault-injection.txt
+++ b/Documentation/fault-injection/fault-injection.txt
@@ -241,3 +241,30 @@ trap "echo 0 > /sys/kernel/debug/$FAILTYPE/probability" SIGINT SIGTERM EXIT
 echo "Injecting errors into the module $module... (interrupt to stop)"
 sleep 1000000
 
+Tool to run command with failslab or fail_page_alloc
+----------------------------------------------------
+In order to make it easier to accomplish the tasks mentioned above, we can use
+tools/testing/fault-injection/failcmd.sh.  Please run a command
+"./tools/testing/fault-injection/failcmd.sh --help" for more information and
+see the following examples.
+
+Examples:
+
+Run a command "make -C tools/testing/selftests/ run_tests" with injecting slab
+allocation failure.
+
+	# ./tools/testing/fault-injection/failcmd.sh \
+		-- make -C tools/testing/selftests/ run_tests
+
+Same as above except to specify 100 times failures at most instead of one time
+at most by default.
+
+	# ./tools/testing/fault-injection/failcmd.sh --times=100 \
+		-- make -C tools/testing/selftests/ run_tests
+
+Same as above except to inject page allocation failure instead of slab
+allocation failure.
+
+	# env FAILCMD_TYPE=fail_page_alloc \
+		./tools/testing/fault-injection/failcmd.sh --times=100 \
+                -- make -C tools/testing/selftests/ run_tests
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH -mm 2/3] notifier error injection documentation
  2012-07-08  0:24 ` [PATCH -mm 2/3] notifier error injection documentation Akinobu Mita
@ 2012-07-08 15:03   ` Rafael J. Wysocki
  0 siblings, 0 replies; 4+ messages in thread
From: Rafael J. Wysocki @ 2012-07-08 15:03 UTC (permalink / raw)
  To: Akinobu Mita
  Cc: linux-kernel, akpm, Pavel Machek, Greg KH,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	Dave Jones

On Sunday, July 08, 2012, Akinobu Mita wrote:
> fault-injection-notifier-error-injection.patch in -mm tree adds
> notifier error injection.
> 
> This adds Documentation/fault-injection/notifier-error-inject.txt
> which describes its feature and usage examples.
> 
> Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
> Cc: Pavel Machek <pavel@ucw.cz>
> Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
> Cc: Greg KH <greg@kroah.com>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Michael Ellerman <michael@ellerman.id.au>
> Cc: Dave Jones <davej@redhat.com>

ACK for the PM part.

Thanks,
Rafael


> ---
>  .../fault-injection/notifier-error-inject.txt      |   99 ++++++++++++++++++++
>  1 file changed, 99 insertions(+)
>  create mode 100644 Documentation/fault-injection/notifier-error-inject.txt
> 
> diff --git a/Documentation/fault-injection/notifier-error-inject.txt b/Documentation/fault-injection/notifier-error-inject.txt
> new file mode 100644
> index 0000000..c83526c
> --- /dev/null
> +++ b/Documentation/fault-injection/notifier-error-inject.txt
> @@ -0,0 +1,99 @@
> +Notifier error injection
> +========================
> +
> +Notifier error injection provides the ability to inject artifical 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.
> +
> + * CPU notifier
> + * PM notifier
> + * Memory hotplug notifier
> + * powerpc pSeries reconfig notifier
> +
> +CPU notifier error injection module
> +-----------------------------------
> +This feature can be used to test the error handling of the CPU notifiers by
> +injecting artifical errors to CPU notifier chain callbacks.
> +
> +If the notifier call chain should be failed with some events notified, write
> +the error code to debugfs interface
> +/sys/kernel/debug/notifier-error-inject/cpu/actions/<notifier event>/error
> +
> +Possible CPU notifier events to be failed are:
> +
> + * CPU_UP_PREPARE
> + * CPU_UP_PREPARE_FROZEN
> + * CPU_DOWN_PREPARE
> + * CPU_DOWN_PREPARE_FROZEN
> +
> +Example1: Inject CPU offline error (-1 == -EPERM)
> +
> +	# cd /sys/kernel/debug/notifier-error-inject/cpu
> +	# echo -1 > actions/CPU_DOWN_PREPARE/error
> +	# echo 0 > /sys/devices/system/cpu/cpu1/online
> +	bash: echo: write error: Operation not permitted
> +
> +Example2: inject CPU online error (-2 == -ENOENT)
> +
> +	# echo -2 > actions/CPU_UP_PREPARE/error
> +	# echo 1 > /sys/devices/system/cpu/cpu1/online
> +	bash: echo: write error: No such file or directory
> +
> +PM notifier error injection module
> +----------------------------------
> +This feature is controlled through debugfs interface
> +/sys/kernel/debug/notifier-error-inject/pm/actions/<notifier event>/error
> +
> +Possible PM notifier events to be failed are:
> +
> + * PM_HIBERNATION_PREPARE
> + * PM_SUSPEND_PREPARE
> + * PM_RESTORE_PREPARE
> +
> +Example: Inject PM suspend error (-12 = -ENOMEM)
> +
> +	# 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
> +
> +Memory hotplug notifier error injection module
> +----------------------------------------------
> +This feature is controlled through debugfs interface
> +/sys/kernel/debug/notifier-error-inject/memory/actions/<notifier event>/error
> +
> +Possible memory notifier events to be failed are:
> +
> + * MEM_GOING_ONLINE
> + * MEM_GOING_OFFLINE
> +
> +Example: Inject memory hotplug offline error (-12 == -ENOMEM)
> +
> +	# 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
> +
> +powerpc pSeries reconfig notifier error injection module
> +--------------------------------------------------------
> +This feature is controlled through debugfs interface
> +/sys/kernel/debug/notifier-error-inject/pSeries-reconfig/actions/<notifier event>/error
> +
> +Possible pSeries reconfig notifier events to be failed are:
> +
> + * PSERIES_RECONFIG_ADD
> + * PSERIES_RECONFIG_REMOVE
> + * PSERIES_DRCONF_MEM_ADD
> + * PSERIES_DRCONF_MEM_REMOVE
> +
> +For more usage examples
> +-----------------------
> +There are tools/testing/selftests using the notifier error injection features
> +for CPU and memory notifiers.
> +
> + * tools/testing/selftests/cpu-hotplug/on-off-test.sh
> + * tools/testing/selftests/memory-hotplug/on-off-test.sh
> +
> +These scripts first do simple online and offline tests and then do fault
> +injection tests if notifier error injection module is available.
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-07-08 14:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-08  0:24 [PATCH -mm 1/3] notifier error injection: fix copy-and-paste error in Kconfig help Akinobu Mita
2012-07-08  0:24 ` [PATCH -mm 2/3] notifier error injection documentation Akinobu Mita
2012-07-08 15:03   ` Rafael J. Wysocki
2012-07-08  0:24 ` [PATCH -mm 3/3] fault-injection: mention failcmd.sh tool in document Akinobu Mita

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.