Page MenuHomeFreeBSD

ioatcontrol(8) could exercise 8k-aligned copy with page-break, crc and crc-copy modes
ClosedPublic

Authored by tychon on Apr 1 2019, 7:38 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 19, 4:17 AM
Unknown Object (File)
Mon, Nov 18, 9:46 PM
Unknown Object (File)
Oct 23 2024, 10:50 AM
Unknown Object (File)
Oct 23 2024, 10:18 AM
Unknown Object (File)
Oct 23 2024, 9:22 AM
Unknown Object (File)
Oct 23 2024, 9:22 AM
Unknown Object (File)
Oct 10 2024, 11:46 PM
Unknown Object (File)
Oct 3 2024, 3:30 AM
Subscribers

Details

Summary

In D19725 I touched a few area of the ioat(4) driver for which there didn't exist any existing unit test code. This patch aims to address that.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

arc-copy modes

typo: "crc-copy" (in the summary)

Looks mostly good to me. A few remarks:

sys/dev/ioat/ioat_test.c
319–322 ↗(On Diff #55693)

I'm not sure these point to valid indices in buf at the limit. Why not just swap pages with the non-pagebreak case, i.e.,

src2 = ...buf[2*i+1] + PAGE_SIZE;
dst2 = ...buf[2*i] + PAGE_SIZE;
381–382 ↗(On Diff #55693)

Oh, I see this is how you enforce src/dst+PAGESIZE*2 is valid. Still, it seems excessive when we only need 2*PAGE_SIZE in buffer, just a different access pattern to avoid the contiguous pages.

tychon retitled this revision from ioatcontrol(8) could exercise 8k-aligned copy with page-break, crc and arc-copy modes to ioatcontrol(8) could exercise 8k-aligned copy with page-break, crc and crc-copy modes.Apr 2 2019, 1:04 AM
tychon marked an inline comment as done.
In D19780#424304, @cem wrote:

arc-copy modes

typo: "crc-copy" (in the summary)

Looks mostly good to me. A few remarks:

In D19780#424304, @cem wrote:

arc-copy modes

typo: "crc-copy" (in the summary)

Looks mostly good to me. A few remarks:

sys/dev/ioat/ioat_test.c
319–322 ↗(On Diff #55693)

Why not? Sometimes when you start one way you don't see the obvious but cleaner alternative. Like here.

Good suggestion I've fixed it.

tychon marked an inline comment as done and an inline comment as not done.Apr 2 2019, 1:11 AM
sys/dev/ioat/ioat_test.c
372 ↗(On Diff #55709)

Need || TEST_DMA_8K_PB now, I think :-)

Add || TEST_DMA_8K_PB to pre-condition verification.

This revision is now accepted and ready to land.Apr 2 2019, 5:49 PM
This revision was automatically updated to reflect the committed changes.