Page MenuHomeFreeBSD

nvme: Be more correct in busdma usage
Needs ReviewPublic

Authored by imp on Jan 3 2026, 6:13 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jun 22, 2:43 AM
Unknown Object (File)
Sat, Jun 20, 10:16 AM
Unknown Object (File)
Tue, Jun 16, 5:12 AM
Unknown Object (File)
Thu, Jun 11, 3:13 AM
Unknown Object (File)
Thu, Jun 4, 1:22 PM
Unknown Object (File)
Sat, May 30, 10:47 PM
Unknown Object (File)
May 20 2026, 3:16 PM
Unknown Object (File)
May 20 2026, 1:53 PM
Subscribers
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Only do a PRE/POST sync for READ or WRITE, but not both. Only do a PRE
sync for requests with payloads.

Sponsored by: Netflix

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 69594
Build 66477: arc lint + arc unit

Event Timeline

imp requested review of this revision.Jan 3 2026, 6:13 PM
mmel added inline comments.
sys/dev/nvme/nvme_qpair.c
1071

This fragment looks wrong.

sys/dev/nvme/nvme_qpair.c
1071

This fragment looks wrong.

What looks wrong?

fix the little oops that mmel found

OK. Updated a while ago...

sys/dev/nvme/nvme_qpair.c
1071

Oh! Doh! queuemap, not payload. Fixing. Thanks!

rebase and maybe push the fixes that mmel wanted

chuck added inline comments.
sys/dev/nvme/nvme_private.h
118

Should there still be a spare[1] in the structure?

sys/dev/nvme/nvme_private.h
118

I don't think it really matters. IIRC, someone suggested just removing it on IRC. But looking at this in light of some other recent changes that create read/write payloads (but never to the same dmamap)... I'll worry about that as those other changes evolve. Anyway, I added it back.