<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/ioat, branch release/12.4.0</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>ioat: Add Ice Lake ID.</title>
<updated>2022-10-20T14:26:25+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2022-10-06T18:44:10+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=efccf8d5fe3bb9cf8f16f7840b2535b2bc6a4640'/>
<id>efccf8d5fe3bb9cf8f16f7840b2535b2bc6a4640</id>
<content type='text'>
MFC after:	2 weeks

(cherry picked from commit e4e91353c62e2af425061a4e56e1f24dcca2dd0f)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MFC after:	2 weeks

(cherry picked from commit e4e91353c62e2af425061a4e56e1f24dcca2dd0f)
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r356216: Don't spin on cleanup_lock if we are not interrupt.</title>
<updated>2020-01-07T00:54:23+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2020-01-07T00:54:23+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2617fcf388234340d8ae3e37b67e72e31fe57660'/>
<id>2617fcf388234340d8ae3e37b67e72e31fe57660</id>
<content type='text'>
If somebody else holds that lock, it will likely do the work for us.
If it won't, then we return here later and retry.

Under heavy load it allows to avoid lock congestion between interrupt and
polling threads.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If somebody else holds that lock, it will likely do the work for us.
If it won't, then we return here later and retry.

Under heavy load it allows to avoid lock congestion between interrupt and
polling threads.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r354752: Cleanup address range checks in ioat(4).</title>
<updated>2019-11-29T01:00:06+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2019-11-29T01:00:06+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8c2de3473aae6d122fa4785012d2c86334a7a16c'/>
<id>8c2de3473aae6d122fa4785012d2c86334a7a16c</id>
<content type='text'>
 - Deduce allowed address range for bus_dma(9) from the hardware version.
Different versions (CPU generations) have different documented limits.
 - Remove difference between address ranges for src/dst and crc.  At least
docs for few recent generations of CPUs do not mention anything like that,
while older are already limited with above limits.
 - Remove address assertions from arguments.  While I do not think the
addresses out of allowed ranges should realistically happen there due to
the platforms physical address limitations, there is now bus_dma(9) to
make sure of that, preferably via IOMMU.
 - Since crc now has the same address range as src/dst, remove crc_dmamap,
reusing dst2_dmamap instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - Deduce allowed address range for bus_dma(9) from the hardware version.
Different versions (CPU generations) have different documented limits.
 - Remove difference between address ranges for src/dst and crc.  At least
docs for few recent generations of CPUs do not mention anything like that,
while older are already limited with above limits.
 - Remove address assertions from arguments.  While I do not think the
addresses out of allowed ranges should realistically happen there due to
the platforms physical address limitations, there is now bus_dma(9) to
make sure of that, preferably via IOMMU.
 - Since crc now has the same address range as src/dst, remove crc_dmamap,
reusing dst2_dmamap instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r345813 (by tychon):</title>
<updated>2019-11-29T00:58:18+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2019-11-29T00:58:18+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2c74e433ec59b983b3821feea6000686f7345fb4'/>
<id>2c74e433ec59b983b3821feea6000686f7345fb4</id>
<content type='text'>
ioat(4) should use bus_dma(9) for the operation source and destination
addresses
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ioat(4) should use bus_dma(9) for the operation source and destination
addresses
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r345812 (by tychon):</title>
<updated>2019-11-29T00:38:16+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2019-11-29T00:38:16+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8bfe05b80511d9b95a1bf6b347632f34c230bf2b'/>
<id>8bfe05b80511d9b95a1bf6b347632f34c230bf2b</id>
<content type='text'>
ioatcontrol(8) could exercise 8k-aligned copy with page-break, crc and
crc-copy modes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ioatcontrol(8) could exercise 8k-aligned copy with page-break, crc and
crc-copy modes.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r354753: Initialize *comp_update with valid value.</title>
<updated>2019-11-29T00:25:39+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2019-11-29T00:25:39+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1fa8f59c4f7d6d74cbef8ee2d2c1641ade031240'/>
<id>1fa8f59c4f7d6d74cbef8ee2d2c1641ade031240</id>
<content type='text'>
I've noticed that sometimes with enabled DMAR initial write from device
to this address is somehow getting delayed, triggering assertion due to
zero default being invalid.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I've noticed that sometimes with enabled DMAR initial write from device
to this address is somehow getting delayed, triggering assertion due to
zero default being invalid.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r354703: Pass more reasonable WAIT flags to bus_dma(9) calls.</title>
<updated>2019-11-28T00:42:45+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2019-11-28T00:42:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3844374396fbe1abb58f8eccaadd9977e4779800'/>
<id>3844374396fbe1abb58f8eccaadd9977e4779800</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r354841: Add ioat_get_domain() to ioat(4) KPI.</title>
<updated>2019-11-26T15:23:24+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2019-11-26T15:23:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d83ad00e6b383067c48a1116c55395969a54fd1d'/>
<id>d83ad00e6b383067c48a1116c55395969a54fd1d</id>
<content type='text'>
This allows NUMA-aware consumers to reduce inter-domain traffic.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows NUMA-aware consumers to reduce inter-domain traffic.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r352787: Replace argument checks with assertions.</title>
<updated>2019-10-15T18:39:32+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2019-10-15T18:39:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5e17786d6a55ab4b3025efc32a97ed1fb3c6b22b'/>
<id>5e17786d6a55ab4b3025efc32a97ed1fb3c6b22b</id>
<content type='text'>
Those functions are used by kernel, and we can't check all possible argument
errors in production kernel.  Plus according to docs many of those errors
are checked by hardware.  Assertions should just help with code debugging.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Those functions are used by kernel, and we can't check all possible argument
errors in production kernel.  Plus according to docs many of those errors
are checked by hardware.  Assertions should just help with code debugging.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r352544: Improve ioat(4) NUMA-awareness.</title>
<updated>2019-09-28T00:59:39+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2019-09-28T00:59:39+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=cd6b397159844962e00bf126638cddc4e2ba7558'/>
<id>cd6b397159844962e00bf126638cddc4e2ba7558</id>
<content type='text'>
Allocate ioat-&gt;ring memory from the device domain.
Schedule ioat-&gt;poll_timer to the first CPU of the device domain.

According to pcm-numa tool from intel-pcm port, this reduces number of
remote DRAM accesses while copying data by 75%.  And unless it is a noise,
I've noticed some speed improvement when copying data to other domain.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allocate ioat-&gt;ring memory from the device domain.
Schedule ioat-&gt;poll_timer to the first CPU of the device domain.

According to pcm-numa tool from intel-pcm port, this reduces number of
remote DRAM accesses while copying data by 75%.  And unless it is a noise,
I've noticed some speed improvement when copying data to other domain.
</pre>
</div>
</content>
</entry>
</feed>
