aboutsummaryrefslogtreecommitdiff
path: root/tools/tools/ioat/ioatcontrol.8
Commit message (Collapse)AuthorAgeFilesLines
* ioatcontrol(8) could exercise 8k-aligned copy with page-break, crc andTycho Nightingale2019-04-021-0/+9
| | | | | | | | | | | crc-copy modes. Reviewed by: cem Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D19780 Notes: svn path=/head/; revision=345812
* Remove note about bogus chain-len maximumEnji Cooper2016-05-271-1/+1
| | | | | | | | | | | | There's no current limit on chain-len with Broadwell DE chips; it isn't enforced in software, and there doesn't appear to be a hardware limitation either on the Intel Xeon D-1527 (Broadwell-DE) chip. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300868
* Fix description for -V in the -r caseEnji Cooper2016-05-271-1/+1
| | | | | | | | | | | t.verify_test = true is always set when -V is specified, regardless of whether or not the tool is being run in raw mode MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300858
* Document the default behavior for -c (0)Enji Cooper2016-05-271-2/+3
| | | | | | | | | | Bump .Dd for the change MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300857
* ioatcontrol(8): Add support for interrupt coalescingConrad Meyer2015-12-141-1/+13
| | | | | | | | | | | | | The new flag, -c <period>, sets the interrupt coalescing period in microseconds through the new ioat(4) API ioat_set_interrupt_coalesce(). Also add a -z flag to zero ioat statistics before tests, to make it easy to measure results. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=292229
* ioat(4): Add ioatcontrol(8) testing for copy_8kConrad Meyer2015-12-101-1/+7
| | | | | | | | | | Add -E ("Eight k") and -m ("Memcpy") modes to the ioatcontrol(8) tool. Prompted by: rpokala Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=292044
* ioatcontrol(8): Add and document "raw" testing modeConrad Meyer2015-10-291-1/+33
| | | | | | | | | | | Allows DMA from/to arbitrary KVA or physical address. /dev/ioat_test must be enabled by root and is only R/W root, so this is approximately as dangerous as /dev/mem and /dev/kmem. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=290129
* ioat: Add support for Block Fill operationsConrad Meyer2015-10-261-5/+12
| | | | | | | | | | | | | | | | | | | The IOAT hardware supports writing a 64-bit pattern to some destination buffer. The same limitations on buffer length apply as for copy operations. Throughput is a bit higher (probably because fill does not have to spend bandwidth reading from a source in memory). Support for testing Block Fill has been added to ioatcontrol(8) and the ioat_test device. ioatcontrol(8) accepts the '-f' flag, which tests Block Fill. (If the flag is omitted, the tool tests copy by default.) The '-V' flag, in conjunction with '-f', verifies that buffers are filled in the expected pattern. Tested on: Broadwell DE (Xeon D-1500) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=290021
* Improve flexibility of ioat_test / ioatcontrol(8)Conrad Meyer2015-10-221-6/+56
| | | | | | | | | | | | | | | | | | | | | | | | | The test logic now preallocates memory before running the test. The buffer size is now configurable. Post-copy verification is configurable. The number of copies to chain into one transaction (one interrupt) is configurable. A 'duration' mode is added, which repeats the test until the duration has elapsed, reporting the B/s and transactions completed. ioatcontrol.8 has been updated to document the new arguments. Initial limits (on this particular Broadwell-DE) (and when the interrupts are working) seem to be: 256 interrupts/sec or ~6 GB/s, whichever limit is more restrictive. Unfortunately, it seems the interrupt-reset handling on Broadwell isn't working as intended. That will be fixed in a later commit. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=289733
* Import ioat(4) driverConrad Meyer2015-08-241-0/+75
I/OAT is also referred to as Crystal Beach DMA and is a Platform Storage Extension (PSE) on some Intel server platforms. This driver currently supports DMA descriptors only and is part of a larger effort to upstream an interconnect between multiple systems using the Non-Transparent Bridge (NTB) PSE. For now, this driver is only built on AMD64 platforms. It may be ported to work on i386 later, if that is desired. The hardware is exclusive to x86. Further documentation on ioat(4), including API documentation and usage, can be found in the new manual page. Bring in a test tool, ioatcontrol(8), in tools/tools/ioat. The test tool is not hooked up to the build and is not intended for end users. Submitted by: jimharris, Carl Delsey <carl.r.delsey@intel.com> Reviewed by: jimharris (reviewed my changes) Approved by: markj (mentor) Relnotes: yes Sponsored by: Intel Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D3456 Notes: svn path=/head/; revision=287117