<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/dev/ioat/ioat_test.c, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-02-26T14:26:36Z</updated>
<entry>
<title>Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)</title>
<updated>2020-02-26T14:26:36Z</updated>
<author>
<name>Pawel Biernacki</name>
<email>kaktus@FreeBSD.org</email>
</author>
<published>2020-02-26T14:26:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=7029da5c36f2d3cf6bb6c81bf551229f416399e8'/>
<id>urn:sha1:7029da5c36f2d3cf6bb6c81bf551229f416399e8</id>
<content type='text'>
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
still not MPSAFE (or already are but aren’t properly marked).
Use it in preparation for a general review of all nodes.

This is non-functional change that adds annotations to SYSCTL_NODE and
SYSCTL_PROC nodes using one of the soon-to-be-required flags.

Mark all obvious cases as MPSAFE.  All entries that haven't been marked
as MPSAFE before are by default marked as NEEDGIANT

Approved by:	kib (mentor, blanket)
Commented by:	kib, gallatin, melifaro
Differential Revision:	https://reviews.freebsd.org/D23718
</content>
</entry>
<entry>
<title>ioatcontrol(8) could exercise 8k-aligned copy with page-break, crc and</title>
<updated>2019-04-02T19:06:25Z</updated>
<author>
<name>Tycho Nightingale</name>
<email>tychon@FreeBSD.org</email>
</author>
<published>2019-04-02T19:06:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=a8d9ee9c509202127cab5b10147ee62b8cd9652f'/>
<id>urn:sha1:a8d9ee9c509202127cab5b10147ee62b8cd9652f</id>
<content type='text'>
crc-copy modes.

Reviewed by:	cem
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D19780
</content>
</entry>
<entry>
<title>ioat: don't specify inline for function with variable argument list</title>
<updated>2017-03-04T12:51:57Z</updated>
<author>
<name>Andriy Gapon</name>
<email>avg@FreeBSD.org</email>
</author>
<published>2017-03-04T12:51:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1a1406212b8e0515d7e476176aee8e5ac8681c38'/>
<id>urn:sha1:1a1406212b8e0515d7e476176aee8e5ac8681c38</id>
<content type='text'>
Modern GCC and Clang simply ignore the qualifier, while the old base GCC
produces a warning (treated as an error in the kernel build).

Approved by:	cem
MFC after:	5 days
</content>
</entry>
<entry>
<title>ioat(4): ioat_get_dmaengine(): Add M_WAITOK mode</title>
<updated>2016-04-09T13:15:34Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2016-04-09T13:15:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=0ff814e85443f21ca752d25a481139db3b300b0e'/>
<id>urn:sha1:0ff814e85443f21ca752d25a481139db3b300b0e</id>
<content type='text'>
Sponsored by:	EMC / Isilon Storage Division
</content>
</entry>
<entry>
<title>ioatcontrol(8): Add support for interrupt coalescing</title>
<updated>2015-12-14T22:02:01Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2015-12-14T22:02:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=d37872da341825c6a42fdd77d8c8f270d7a94f33'/>
<id>urn:sha1:d37872da341825c6a42fdd77d8c8f270d7a94f33</id>
<content type='text'>
The new flag, -c &lt;period&gt;, 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
</content>
</entry>
<entry>
<title>ioat(4): Add ioatcontrol(8) testing for copy_8k</title>
<updated>2015-12-10T02:05:35Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2015-12-10T02:05:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=6a301ac85a71a4f645c2ce7f72ea594015c41348'/>
<id>urn:sha1:6a301ac85a71a4f645c2ce7f72ea594015c41348</id>
<content type='text'>
Add -E ("Eight k") and -m ("Memcpy") modes to the ioatcontrol(8) tool.

Prompted by:	rpokala
Sponsored by:	EMC / Isilon Storage Division
</content>
</entry>
<entry>
<title>ioat: Handle channel-fatal HW errors safely</title>
<updated>2015-10-31T20:38:06Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2015-10-31T20:38:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=faefad9c125a9478dd46ccadd0b20a2c825de803'/>
<id>urn:sha1:faefad9c125a9478dd46ccadd0b20a2c825de803</id>
<content type='text'>
Certain invalid operations trigger hardware error conditions.  Error
conditions that only halt one channel can be detected and recovered by
resetting the channel.  Error conditions that halt the whole device are
generally not recoverable.

Add a sysctl to inject channel-fatal HW errors,
'dev.ioat.&lt;N&gt;.force_hw_error=1'.

When a halt due to a channel error is detected, ioat(4) blocks new
operations from being queued on the channel, completes any outstanding
operations with an error status, and resets the channel before allowing
new operations to be queued again.

Update ioat.4 to document error recovery;  document blockfill introduced
in r290021 while we are here;  document ioat_put_dmaengine() added in
r289907;  document DMA_NO_WAIT added in r289982.

Sponsored by:	EMC / Isilon Storage Division
</content>
</entry>
<entry>
<title>ioat_test: Handled forced hardware resets gracefully</title>
<updated>2015-10-29T04:16:52Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2015-10-29T04:16:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1ffae6e80a8266dee424fd2cc699056bdf147629'/>
<id>urn:sha1:1ffae6e80a8266dee424fd2cc699056bdf147629</id>
<content type='text'>
Sponsored by:	EMC / Isilon Storage Division
</content>
</entry>
<entry>
<title>ioatcontrol(8): Add and document "raw" testing mode</title>
<updated>2015-10-29T04:16:16Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2015-10-29T04:16:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=e9497f9bbd2ac5e16b9d913c89ff2d2a08f52cd7'/>
<id>urn:sha1:e9497f9bbd2ac5e16b9d913c89ff2d2a08f52cd7</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>ioat: Define DMACAPABILITY bits</title>
<updated>2015-10-28T02:37:24Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2015-10-28T02:37:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1693d27b71fe4cff20e3b4dad55dcb27c9c7d11a'/>
<id>urn:sha1:1693d27b71fe4cff20e3b4dad55dcb27c9c7d11a</id>
<content type='text'>
Check for BFILL capability before initiating blockfill operations.

Sponsored by:	EMC / Isilon Storage Division
</content>
</entry>
</feed>
