summaryrefslogtreecommitdiffstats
path: root/Documentation/dmatest.txt
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2013-11-06 16:30:09 -0800
committerDan Williams <dan.j.williams@intel.com>2013-11-14 11:04:40 -0800
commit2d88ce76eb98c4ac4411dcb299cf61ca8999d2b9 (patch)
tree2422e0f7dcb01fdc596c8806174c69508aad2540 /Documentation/dmatest.txt
parent86727443a04fdb25397041188efd2527f2b7237b (diff)
downloadlinux-2d88ce76eb98c4ac4411dcb299cf61ca8999d2b9.tar.bz2
dmatest: add a 'wait' parameter
Allows for scripting test runs by module load / unload. Prevent module load from returning until 'iterations' (finite) tests have completed, or cause reads of the 'wait' parameter in sysfs to pause until the tests are done. Also killed the local waitqueue since we can just let the thread exit naturally as long as we hold a reference. Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'Documentation/dmatest.txt')
-rw-r--r--Documentation/dmatest.txt27
1 files changed, 17 insertions, 10 deletions
diff --git a/Documentation/dmatest.txt b/Documentation/dmatest.txt
index 0beb4b68d81f..dd77a81bdb80 100644
--- a/Documentation/dmatest.txt
+++ b/Documentation/dmatest.txt
@@ -39,17 +39,24 @@ stops.
Note that running a new test will not stop any in progress test.
-The following command should return actual state of the test.
- % cat /sys/kernel/debug/dmatest/run
+The following command returns the state of the test.
+ % cat /sys/module/dmatest/parameters/run
-To wait for test done the user may perform a busy loop that checks the state.
+To wait for test completion userpace can poll 'run' until it is false, or use
+the wait parameter. Specifying 'wait=1' when loading the module causes module
+initialization to pause until a test run has completed, while reading
+/sys/module/dmatest/parameters/wait waits for any running test to complete
+before returning. For example, the following scripts wait for 42 tests
+to complete before exiting. Note that if 'iterations' is set to 'infinite' then
+waiting is disabled.
- % while [ $(cat /sys/module/dmatest/parameters/run) = "Y" ]
- > do
- > echo -n "."
- > sleep 1
- > done
- > echo
+Example:
+ % modprobe dmatest run=1 iterations=42 wait=1
+ % modprobe -r dmatest
+...or:
+ % modprobe dmatest run=1 iterations=42
+ % cat /sys/module/dmatest/parameters/wait
+ % modprobe -r dmatest
Part 3 - When built-in in the kernel...
@@ -79,7 +86,7 @@ number of tests executed, number that failed, and a result code.
Example:
% dmesg | tail -n 1
- dmatest: dma3chan0-copy0: summary 400000 tests, 0 failures iops: 61524 KB/s 246098 (0)
+ dmatest: dma0chan0-copy0: summary 1 test, 0 failures 1000 iops 100000 KB/s (0)
The details of a data miscompare error are also emitted, but do not follow the
above format.