diff options
Diffstat (limited to 'tools/tools')
-rw-r--r-- | tools/tools/ioat/ioatcontrol.8 | 17 | ||||
-rw-r--r-- | tools/tools/ioat/ioatcontrol.c | 12 |
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) { |