aboutsummaryrefslogtreecommitdiff
path: root/tools/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools/tools')
-rw-r--r--tools/tools/ioat/ioatcontrol.817
-rw-r--r--tools/tools/ioat/ioatcontrol.c12
2 files changed, 22 insertions, 7 deletions
diff --git a/tools/tools/ioat/ioatcontrol.8 b/tools/tools/ioat/ioatcontrol.8
index b04db858fb8b..7e3234825eda 100644
--- a/tools/tools/ioat/ioatcontrol.8
+++ b/tools/tools/ioat/ioatcontrol.8
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 21, 2015
+.Dd October 26, 2015
.Dt IOATCONTROL 8
.Os
.Sh NAME
@@ -33,6 +33,7 @@
.Xr ioat 4
.Sh SYNOPSIS
.Nm
+.Op Fl f
.Op Fl V
.Ar channel_number
.Ar num_txns
@@ -46,8 +47,12 @@ allows one to issue some number of test operations to the
driver on a specific hardware channel.
The arguments are as follows:
.Bl -tag -width Ds
+.It Fl f
+Test block fill (by default,
+.Nm
+tests copy)
.It Fl V
-Verify copies for accuracy
+Verify copies/fills for accuracy
.El
.Pp
.Nm
@@ -98,13 +103,14 @@ The interface between
.Nm
and
.Xr ioat 4 .
-.Nm
+.Xr ioat 4
exposes it with
.Cd hw.ioat.enable_ioat_test=1 .
.Sh DIAGNOSTICS
The wait channel
.Va test_submit
-indicates that the test code is keeping the DMA engine full of work.
+indicates that the test code has enqueued all requested transactions and is
+waiting on the IOAT hardware to complete one before issuing another operation.
.Sh SEE ALSO
.Xr ioat 4
.Sh HISTORY
@@ -119,7 +125,8 @@ driver and
.Nm
tool were developed by
.An \&Jim Harris Aq Mt jimharris@FreeBSD.org ,
+.An \&Carl Delsey Aq Mt carl.r.delsey@intel.com ,
and
-.An \&Carl Delsey Aq Mt carl.r.delsey@intel.com .
+.An \&Conrad Meyer Aq Mt cem@FreeBSD.org .
This manual page was written by
.An \&Conrad Meyer Aq Mt cem@FreeBSD.org .
diff --git a/tools/tools/ioat/ioatcontrol.c b/tools/tools/ioat/ioatcontrol.c
index 88fbea657fa3..e55ce4f605d3 100644
--- a/tools/tools/ioat/ioatcontrol.c
+++ b/tools/tools/ioat/ioatcontrol.c
@@ -48,7 +48,7 @@ static void
usage(void)
{
- printf("Usage: %s [-V] <channel #> <txns> [<bufsize> "
+ printf("Usage: %s [-fV] <channel #> <txns> [<bufsize> "
"[<chain-len> [duration]]]\n", getprogname());
exit(EX_USAGE);
}
@@ -58,9 +58,13 @@ main(int argc, char **argv)
{
struct ioat_test t;
int fd, ch;
+ bool fflag;
- while ((ch = getopt(argc, argv, "V")) != -1) {
+ while ((ch = getopt(argc, argv, "fV")) != -1) {
switch (ch) {
+ case 'f':
+ fflag = true;
+ break;
case 'V':
t.verify = true;
break;
@@ -78,6 +82,10 @@ main(int argc, char **argv)
t.buffer_size = 256 * 1024;
t.chain_depth = 2;
t.duration = 0;
+ t.testkind = IOAT_TEST_DMA;
+
+ if (fflag)
+ t.testkind = IOAT_TEST_FILL;
t.channel_index = atoi(argv[0]);
if (t.channel_index > 8) {