Page MenuHomeFreeBSD

nvme: Use controller's page size instead of PAGE_SIZE to create qpair
ClosedPublic

Authored by imp on Apr 10 2022, 5:12 PM.
Tags
None
Referenced Files
F132302764: D34873.id.diff
Wed, Oct 15, 5:02 PM
F132302759: D34873.id104849.diff
Wed, Oct 15, 5:02 PM
F132257405: D34873.diff
Wed, Oct 15, 6:22 AM
Unknown Object (File)
Wed, Oct 8, 2:13 AM
Unknown Object (File)
Sep 10 2025, 10:04 PM
Unknown Object (File)
Sep 2 2025, 10:06 PM
Unknown Object (File)
Aug 31 2025, 2:52 AM
Unknown Object (File)
Aug 24 2025, 12:02 PM
Subscribers

Details

Summary

When constructing qpair, use the controller's notion of page size rather
than the host's PAGE_SIZE. Currently, these are both 4k, but the arm 16k
page size support requires decoupling.

There's a "hidden" PAGE_SIZE in btoc, so we must change btoc(x) to
howmany(x, ctrlr->page_size) to properly count the number of pages (in
the drive's world view) are needed for various calculations.

Sponsored by: Netflix

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable