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)
Sat, May 16, 2:52 AM
Unknown Object (File)
Thu, May 14, 4:45 AM
Unknown Object (File)
Tue, May 12, 12:38 PM
Unknown Object (File)
Tue, May 12, 12:30 PM
Unknown Object (File)
Tue, May 12, 8:30 AM
Unknown Object (File)
Tue, May 12, 8:29 AM
Unknown Object (File)
Tue, May 12, 5:16 AM
Unknown Object (File)
Mon, May 11, 9:52 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 72536
Build 69419: 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
120–121

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

sys/dev/nvme/nvme_private.h
120–121

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.